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

2021-05-15 Thread Chris Hofstaedtler
(Replying to the bug only, as its not relevant for d-boot...)

* Ritesh Raj Sarraf  [210515 17:32]:
> Time is pressing and I'm wondering what best to do here. I certainly do
> not care much for the iSCSI support in the installer. I didn't write or
> test that feature either.
[..]

> Maybe best to rope-in Ubuntu folks. I believe they make use of it in
> the installer.

It is my understanding Ubuntu has stopped using d-i, and thus very
likely the udebs.

Chris



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

2021-05-15 Thread Cyril Brulebois
Ritesh Raj Sarraf  (2021-05-15):
> That'd be nice of you. So, yes, please.
> 
> And you'd be the next best team (debian-boot) to test that feature as
> it is specific to d-i.

Here we go, udeb-support branch in:
  https://salsa.debian.org/kibi/open-iscsi

Tested successfully on amd64:
 - produces the udeb;
 - has the udeb entry in the library's shlibs file.

and on armel:
 - doesn't build the udeb;
 - doesn't have the udeb entry in the library's shlibs file.


For reference, what the second commit does is distinguish between:

kibi@tokyo:~/hack/open-iscsi.git$ dpkg --print-architecture
amd64
kibi@tokyo:~/hack/open-iscsi.git$ dh_listpackages 
open-iscsi
libopeniscsiusr
libopeniscsiusr-dev
iscsiuio
open-iscsi-udeb

and:

(sid_armel-dchroot)kibi@amdahl:~/open-iscsi-2.1.3$ dpkg 
--print-architecture   
armel
(sid_armel-dchroot)kibi@amdahl:~/open-iscsi-2.1.3$ dh_listpackages 
open-iscsi
libopeniscsiusr
libopeniscsiusr-dev
iscsiuio

Please let me know if you have any questions or objections, I'm happy to
help refine this further.


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-05-15 Thread Ritesh Raj Sarraf
On Sat, 2021-05-15 at 17:37 +0200, Cyril Brulebois wrote:
> Ritesh Raj Sarraf  (2021-05-15):
> > Yes. That scsi-modules support bites back now. I just forgot about
> > it
> > completely. My intent was to not duplicate another architecture
> > list
> in
> > d/rules, and in trying to simplify things, it has just fallen apart
> > with this old oddity of support on armel.
> 
> I'm happy to provide (and test) a patch that would only hardcode the
> list in debian/control, and make sure the extra steps aren't run from
> debian/rules. If you like the idea, you might get a patch in the next
> few hours.

That'd be nice of you. So, yes, please.

And you'd be the next best team (debian-boot) to test that feature as
it is specific to d-i.


-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-05-15 Thread Cyril Brulebois
Ritesh Raj Sarraf  (2021-05-15):
> Yes. That scsi-modules support bites back now. I just forgot about it
> completely. My intent was to not duplicate another architecture list in
> d/rules, and in trying to simplify things, it has just fallen apart
> with this old oddity of support on armel.

I'm happy to provide (and test) a patch that would only hardcode the
list in debian/control, and make sure the extra steps aren't run from
debian/rules. If you like the idea, you might get a patch in the next
few hours.


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-05-15 Thread Ritesh Raj Sarraf
On Sat, 2021-05-15 at 16:30 +0200, Cyril Brulebois wrote:
> It's just scsi-modules that's not available on armel apparently.
> 
> As far as I know, armel is in “maintenance mode” anyway, trying not
> to
> lose support for old devices. I wouldn't worry if an optional
> component
> like open-iscsi(-udeb) would not be installable on this single
> architecture. I'll let folks from debian-arm@ comment further on
> this.
> 
> But of course, this is a problem that prevents migration now, 

> let's
> check why; the old Architecture list looked like this (before
> switching
> it to linux-any):
> 
>     Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc
> ppc64
> ppc64el s390x
> 
> without armel so you had no installability issue there… Note that
> this
> was actually explained in the comment just before that line:
> 
>     # Note: the (virtual) udeb package scsi-modules (provided by
> different
>     #   linux kernel udebs) must exist for these architectures -
> so
>     #   check that before adding them to this list; the other
>     #   scsi-(core|common|...)-modules are NOT sufficient!
> 
> An obvious fix would be to revert to an hardcoded list of supported
> architectures (and requesting a removal of the obsolete armel binary
> that should start appearing in the cruft report[1] once that has
> happened); that's not too nice but I don't see any obvious better fix
> right now.

Yes. That scsi-modules support bites back now. I just forgot about it
completely. My intent was to not duplicate another architecture list in
d/rules, and in trying to simplify things, it has just fallen apart
with this old oddity of support on armel.

Time is pressing and I'm wondering what best to do here. I certainly do
not care much for the iSCSI support in the installer. I didn't write or
test that feature either. And I'm not even sure if that module even
works well in the installer. There's 'Root on (iSCSI + DM Multipath)'
that I use and care for but that doesn't even get set through the d-i
installer. Instead, the setup is to bootstrap the root LUN.

Maybe best to rope-in Ubuntu folks. I believe they make use of it in
the installer. I personally would like to drop the iSCSI support in the
installer, simply because I don't use it and don't have the commitment
to support/test it, nor the necessary hands-on knowledge if a bug is
reported. But derivatives may have a dependency on it.

The current easy fix, as Cyril mentioned above, it to revert it back to
the previous architecture list and adapt the same in d/rules in target
override_dh_makeshlibs.


-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-05-15 Thread Cyril Brulebois
Hi,

(cc += debian-arm@)

Ritesh Raj Sarraf  (2021-05-15):
> While this bug is now in fixed status with the recent upload of open-
> iscsi version 2.1.3-4, there's still some other issue about the udeb
> being reported on the tracker package.
> 
> In particular, it metions:
> open-iscsi-udeb/armel has unsatisfiable dependency
> 
> I see no difference in the generated deb's dependency list. Is it
> something you are aware of, in general, about d-i's status on armel ?
> Or are there still bugs from the installer's point of view, where I
> need to step in ?

It's just scsi-modules that's not available on armel apparently.

As far as I know, armel is in “maintenance mode” anyway, trying not to
lose support for old devices. I wouldn't worry if an optional component
like open-iscsi(-udeb) would not be installable on this single
architecture. I'll let folks from debian-arm@ comment further on this.

But of course, this is a problem that prevents migration now, let's
check why; the old Architecture list looked like this (before switching
it to linux-any):

Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc ppc64 ppc64el 
s390x

without armel so you had no installability issue there… Note that this
was actually explained in the comment just before that line:

# Note: the (virtual) udeb package scsi-modules (provided by different
#   linux kernel udebs) must exist for these architectures - so
#   check that before adding them to this list; the other
#   scsi-(core|common|...)-modules are NOT sufficient!

An obvious fix would be to revert to an hardcoded list of supported
architectures (and requesting a removal of the obsolete armel binary
that should start appearing in the cruft report[1] once that has
happened); that's not too nice but I don't see any obvious better fix
right now.

 1. https://ftp-master.debian.org/cruft-report-daily.txt


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-05-15 Thread Ritesh Raj Sarraf
Hi Cyril,


While this bug is now in fixed status with the recent upload of open-
iscsi version 2.1.3-4, there's still some other issue about the udeb
being reported on the tracker package.

In particular, it metions:
open-iscsi-udeb/armel has unsatisfiable dependency

I see now difference in the generated deb's dependency list. Is it
something you are aware of, in general, about d-i's status on armel ?
Or are there still bugs from the installer's point of view, where I
need to step in ?



rrs@priyasi:.../Chrome-Downloads$ dpkg -I open-iscsi-udeb_2.1.3-
4_armel.udeb 
 new Debian package, version 2.0.
 size 212060 bytes: control archive=572 bytes.
 592 bytes,14 lines  control  
 Package: open-iscsi-udeb
 Source: open-iscsi
 Version: 2.1.3-4
 Architecture: armel
 Maintainer: Debian iSCSI Maintainers 
 Installed-Size: 1185
 Depends: libc6-udeb (>= 2.31), libcrypto1.1-udeb (>= 1.1.1k), libisns-
udeb, libkmod2-udeb (>= 28), libmount1-udeb (>= 2.33), libsystemd0 (>=
247.3), scsi-modules
 Section: debian-installer
 Priority: optional
 Description: Configure iSCSI
  The Open-iSCSI project is a high-performance, transport independent,
  multi-platform implementation of RFC3720 iSCSI.
  .
  This is the minimal package (udeb) used by debian-installer.
19:33 ♒ ॐ ♅ ♄ ⛢ ☺ 
rrs@priyasi:.../Chrome-Downloads$ dpkg -I open-iscsi-udeb_2.1.3-
4_armhf.udeb 
 new Debian package, version 2.0.
 size 218124 bytes: control archive=572 bytes.
 591 bytes,14 lines  control  
 Package: open-iscsi-udeb
 Source: open-iscsi
 Version: 2.1.3-4
 Architecture: armhf
 Maintainer: Debian iSCSI Maintainers 
 Installed-Size: 933
 Depends: libc6-udeb (>= 2.31), libcrypto1.1-udeb (>= 1.1.1k), libisns-
udeb, libkmod2-udeb (>= 28), libmount1-udeb (>= 2.33), libsystemd0 (>=
247.3), scsi-modules
 Section: debian-installer
 Priority: optional
 Description: Configure iSCSI
  The Open-iSCSI project is a high-performance, transport independent,
  multi-platform implementation of RFC3720 iSCSI.
  .
  This is the minimal package (udeb) used by debian-installer.
19:33 ♒ ॐ ♅ ♄ ⛢ ☺ 


On Sat, 2021-05-01 at 04:32 +0200, Cyril Brulebois wrote:
> Hi,
> 
> Ritesh Raj Sarraf  (2021-04-30):
> > The upload I prepped failed on some of the architectures.
> > https://buildd.debian.org/status/logs.php?pkg=open-iscsi=2.1.3-3
> 
> It's lacking a push to the Git repository (git fetch didn't get
> anything
> new from a few days ago).
> 
> > In d/control, there is:
> > 
> > ```
> > Package: open-iscsi-udeb
> > # Note: the (virtual) udeb package scsi-modules (provided by
> > different
> > #   linux kernel udebs) must exist for these architectures - so
> > #   check that before adding them to this list; the other
> > #   scsi-(core|common|...)-modules are NOT sufficient!
> > Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc ppc64
> > ppc64el s390x
> > Section: debian-installer
> > Package-Type: udeb
> > ```
> > 
> > 
> > The udeb package was introduced by Colin Watson from Ubuntu. I
> > extended
> > the architecture list, based on the supported architectures by d-i.
> > But
> > I really don't use or test this functionality of the package.
> > 
> > 
> > How would you like to see this fixed Cyril ?
> > 
> > The easiest option, if d-i supports, would be to extend architecture
> > list to: `linux-any`, keeping it in line with what the actual open-
> > iscsi package supports.
> 
> Yes, I think that would be a good idea, so that you don't have to keep
> the list in sync between debian/control and debian/rules. We don't have
> many examples of packages maintained by the d-i team that use it, but
> at least src:haveged and src:systemd have similar udebs (after all,
> that
> only matters at build-time, d-i only sees the results of the build).
> 
> Regarding your conditional, you could check whether you're building for
> linux (once you switch to linux-any) or you could check whether the
> udeb
> is being built: dh_listpackages (-a) can be use to determine that.
> 
> 
> Cheers,

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-04-30 Thread Cyril Brulebois
Hi,

Ritesh Raj Sarraf  (2021-04-30):
> The upload I prepped failed on some of the architectures.
> https://buildd.debian.org/status/logs.php?pkg=open-iscsi=2.1.3-3

It's lacking a push to the Git repository (git fetch didn't get anything
new from a few days ago).

> In d/control, there is:
> 
> ```
> Package: open-iscsi-udeb
> # Note: the (virtual) udeb package scsi-modules (provided by different
> #   linux kernel udebs) must exist for these architectures - so
> #   check that before adding them to this list; the other
> #   scsi-(core|common|...)-modules are NOT sufficient!
> Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc ppc64
> ppc64el s390x
> Section: debian-installer
> Package-Type: udeb
> ```
> 
> 
> The udeb package was introduced by Colin Watson from Ubuntu. I extended
> the architecture list, based on the supported architectures by d-i. But
> I really don't use or test this functionality of the package.
> 
> 
> How would you like to see this fixed Cyril ?
> 
> The easiest option, if d-i supports, would be to extend architecture
> list to: `linux-any`, keeping it in line with what the actual open-
> iscsi package supports.

Yes, I think that would be a good idea, so that you don't have to keep
the list in sync between debian/control and debian/rules. We don't have
many examples of packages maintained by the d-i team that use it, but
at least src:haveged and src:systemd have similar udebs (after all, that
only matters at build-time, d-i only sees the results of the build).

Regarding your conditional, you could check whether you're building for
linux (once you switch to linux-any) or you could check whether the udeb
is being built: dh_listpackages (-a) can be use to determine that.


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-04-30 Thread Ritesh Raj Sarraf
On Fri, 2021-04-30 at 21:20 +0530, Ritesh Raj Sarraf wrote:
> 
> How would you like to see this fixed Cyril ?
> 
> The easiest option, if d-i supports, would be to extend architecture
> list to: `linux-any`, keeping it in line with what the actual open-
> iscsi package supports.

Here's what I've done. And propose.

rrs@priyasi:~/.../open-iscsi (wip/ritesh/fix-armel)$ git diff
master..HEAD
diff --git a/debian/changelog b/debian/changelog
index acfa52e..8365844 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+open-iscsi (2.1.3-4) unstable; urgency=medium
+
+  * [98b0d39] Add check for architectures where open-iscsi-udeb is
built
+  * [bf3d0f5] Add armel to support architecture for d-i
+
+ -- Ritesh Raj Sarraf   Fri, 30 Apr 2021 22:07:27
+0530
+
 open-iscsi (2.1.3-3) unstable; urgency=medium
 
   * [47645a5] Make open-iscsi-udeb compatible with d-i.
diff --git a/debian/control b/debian/control
index a69ce2c..3df235f 100644
--- a/debian/control
+++ b/debian/control
@@ -139,7 +139,7 @@ Package: open-iscsi-udeb
 #   linux kernel udebs) must exist for these architectures - so
 #   check that before adding them to this list; the other
 #   scsi-(core|common|...)-modules are NOT sufficient!
-Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc ppc64
ppc64el s390x
+Architecture: amd64 arm64 armel armhf i386 ia64 mips mipsel powerpc
ppc64 ppc64el s390x
 Section: debian-installer
 Package-Type: udeb
 Depends: ${misc:Depends},
diff --git a/debian/rules b/debian/rules
index 60211b8..17ef5d8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -101,4 +101,9 @@ override_dh_missing:
dh_missing --fail-missing
 
 override_dh_makeshlibs:
+ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 ia64
mips mipsel powerpc ppc64 ppc64el s390x))
dh_makeshlibs --add-udeb=open-iscsi-udeb
+else
+   dh_makeshlibs
+endif
+



I noticed that d-i seems to have gained support for armel too. So my
proposed changes introduce support for armel. And the conditional check
also ensures to call the correct dh_makeshlibs on the respective host
architecture.


-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-04-30 Thread Ritesh Raj Sarraf
The upload I prepped failed on some of the architectures.
https://buildd.debian.org/status/logs.php?pkg=open-iscsi=2.1.3-3

In d/control, there is:

```
Package: open-iscsi-udeb
# Note: the (virtual) udeb package scsi-modules (provided by different
#   linux kernel udebs) must exist for these architectures - so
#   check that before adding them to this list; the other
#   scsi-(core|common|...)-modules are NOT sufficient!
Architecture: amd64 arm64 armhf i386 ia64 mips mipsel powerpc ppc64
ppc64el s390x
Section: debian-installer
Package-Type: udeb
```


The udeb package was introduced by Colin Watson from Ubuntu. I extended
the architecture list, based on the supported architectures by d-i. But
I really don't use or test this functionality of the package.


How would you like to see this fixed Cyril ?

The easiest option, if d-i supports, would be to extend architecture
list to: `linux-any`, keeping it in line with what the actual open-
iscsi package supports.





On Thu, 2021-04-29 at 13:36 +0530, Ritesh Raj Sarraf wrote:
> 
> Thank you. I find your reworded comment proper and have applied the
> same.
> 
> I will now work with the release team.
> 

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-04-29 Thread Ritesh Raj Sarraf
On Thu, 2021-04-29 at 08:28 +0200, Cyril Brulebois wrote:
> OK, it's slighty different from the haveged package I mentioned that
> you
> could have taken as an example… but I think it should serve our
> purpose
> in a suitable fashion, so feel free to go ahead, thanks!
> 

In the interest of the limited time, I didn't really manage to look at
it.

> Regarding this comment:
> 
>     # We do this to keep the udeb in the installer happy
> 
> it's more about your executables being able to find the shared
> objects
> they need, the installer is neither happy nor unhappy. :D
> 
> I would expect the following to be a little more descriptive, but of
> course you keep whatever you find best. :)
> 
>     # Ship shared libraries along with the executable in a single
> udeb

Thank you. I find your reworded comment proper and have applied the
same.

I will now work with the release team.

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-04-29 Thread Cyril Brulebois
Hi,

Ritesh Raj Sarraf  (2021-04-28):
> Please review the attached patch. I build tested locally and the
> results are below. If this looks good to you, then I'll prepare an
> upload and ask the release team for an unblock.

OK, it's slighty different from the haveged package I mentioned that you
could have taken as an example… but I think it should serve our purpose
in a suitable fashion, so feel free to go ahead, thanks!

Regarding this comment:

# We do this to keep the udeb in the installer happy

it's more about your executables being able to find the shared objects
they need, the installer is neither happy nor unhappy. :D

I would expect the following to be a little more descriptive, but of
course you keep whatever you find best. :)

# Ship shared libraries along with the executable in a single udeb


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-04-28 Thread Ritesh Raj Sarraf
Hi Cyril,

On Wed, 2021-04-28 at 17:51 +0200, Cyril Brulebois wrote:
> > 
> > Why not just drop the dependency on udev and libopeniscsiusr
> entirely,
> > for the open-iscsi-udeb package ?
> 
> This is not sufficient:

Please review the attached patch. I build tested locally and the
results are below. If this looks good to you, then I'll prepare an
upload and ask the release team for an unblock.

I also opted to drop the explicit udev dependency.

rrs@priyasi:.../Result$ dpkg -I open-iscsi-udeb_2.1.3-2_amd64.udeb 
 new Debian package, version 2.0.
 size 248668 bytes: control archive=572 bytes.
 592 bytes,14 lines  control  
 Package: open-iscsi-udeb
 Source: open-iscsi
 Version: 2.1.3-2
 Architecture: amd64
 Maintainer: Debian iSCSI Maintainers 
 Installed-Size: 1341
 Depends: libc6-udeb (>= 2.31), libcrypto1.1-udeb (>= 1.1.1k), libisns-
udeb, libkmod2-udeb (>= 28), libmount1-udeb (>= 2.33), libsystemd0 (>=
247.3), scsi-modules
 Section: debian-installer
 Priority: optional
 Description: Configure iSCSI
  The Open-iSCSI project is a high-performance, transport independent,
  multi-platform implementation of RFC3720 iSCSI.
  .
  This is the minimal package (udeb) used by debian-installer.


Thanks,
Ritesh
-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System
From b98d26b860ef7c989438d2641eaa5d2c514d2b51 Mon Sep 17 00:00:00 2001
From: Ritesh Raj Sarraf 
Date: Wed, 28 Apr 2021 22:13:39 +0530
Subject: [PATCH] Make open-iscsi-udeb compatible with d-i

In this change, we add libopeniscsiusr shared object explicitly to the udeb package to
avoid any reference to the libopeniscsiusr .deb package

We also add an override in shlibs generation

This oddity, that of open-iscsi-udeb shipping a library but open-iscsi
not shipping the library, is purely in the context of debian-installer

So, let's override and instruct mkshlibs to do the requested thing

And finally,
Drop explicit dependency on libopeniscsiusr and udev
---
 debian/control | 2 --
 debian/rules   | 6 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index 0a4627f..a69ce2c 100644
--- 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,
diff --git a/debian/rules b/debian/rules
index 10584dd..1152be3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -69,6 +69,9 @@ override_dh_auto_install:
 	dh_install -p open-iscsi-udeb debian/open-iscsi-udeb.start sbin/iscsi-start
 	dh_install -p open-iscsi-udeb debian/open-iscsi-udeb.finish-install usr/lib/finish-install.d/10open-iscsi
 
+	# We do this to keep the udeb in the installer happy
+	dh_install -p open-iscsi-udeb libopeniscsiusr/libopeniscsiusr*.so.* usr/lib/${DEB_HOST_MULTIARCH}
+
 override_dh_installinit:
 	dh_installinit -p open-iscsi --name=iscsid
 	dh_installinit -p open-iscsi
@@ -96,3 +99,6 @@ override_dh_installdocs:
 
 override_dh_missing:
 	dh_missing --fail-missing
+
+override_dh_makeshlibs:
+	dh_makeshlibs --add-udeb=open-iscsi-udeb
-- 
2.31.1



signature.asc
Description: This is a digitally signed message part


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

2021-04-28 Thread Cyril Brulebois
Hi Ritesh,

Ritesh Raj Sarraf  (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 (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-04-28 Thread Ritesh Raj Sarraf
Hi Cyril,

On Sun, 2021-04-25 at 22:02 +0200, Cyril Brulebois wrote:
> but it seems the experimental uploads weren't fetched for some reason
> (I only glanced at git, didn't check what happened on the archive
> side).
> 
> Since the problem is about the dependency between the udeb and one of
> the library from the same package, a possibly easy fix could be to
> just
> ship the contents of the said library inside the udeb, along with the
> current contents.
> 
> That'd probably be about adjusting a .install file as opposed to
> adding
> a dedicated library udeb that would need some care for SONAME bumps,
> etc. (plus NEW of course).


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 ?

If you agree, then I can prepare an upload just dropping these.

Thanks,
Ritesh

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System


signature.asc
Description: This is a digitally signed message part


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

2021-04-25 Thread Debian Bug Tracking System
Processing control commands:

> found -1 2.1.2-1
Bug #987568 [open-iscsi-udeb] open-iscsi-udeb: uninstallable udeb: non-udeb 
dependencies
Marked as found in versions open-iscsi/2.1.2-1.

-- 
987568: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987568
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



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

2021-04-25 Thread Cyril Brulebois
Control: found -1 2.1.2-1

Cyril Brulebois  (2021-04-25):
> I'm currently chasing other blocking bugs for the installer, but I'll
> add this bug to the list, and try to get back to it later.

A quick debsnap shows at least those versions are affected:

  2.1.2-1
  2.1.2-2
  2.1.3-1
  2.1.3-2

but it seems the experimental uploads weren't fetched for some reason
(I only glanced at git, didn't check what happened on the archive side).

Since the problem is about the dependency between the udeb and one of
the library from the same package, a possibly easy fix could be to just
ship the contents of the said library inside the udeb, along with the
current contents.

That'd probably be about adjusting a .install file as opposed to adding
a dedicated library udeb that would need some care for SONAME bumps,
etc. (plus NEW of course).


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


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

2021-04-25 Thread Cyril Brulebois
Package: open-iscsi-udeb
Version: 2.1.3-2
Severity: serious
Justification: not installable
X-Debbugs-Cc: debian-b...@lists.debian.org

Hi,

The udeb isn't installable at the moment, due to:

Depends: libc6-udeb (>= 2.31), libcrypto1.1-udeb (>= 1.1.1i), libisns-udeb, 
libkmod2-udeb (>= 28), libmount1-udeb (>= 2.33), libopeniscsiusr, libsystemd0 
(>= 247.3), udev, scsi-modules

In an installer context, that leads to:

The following packages have unmet dependencies:
 open-iscsi-udeb : Depends: libopeniscsiusr but it is not installable
   Depends: libsystemd0 (>= 247.3) but it is not installable
   Depends: udev but it is not installable

I'm currently chasing other blocking bugs for the installer, but I'll
add this bug to the list, and try to get back to it later.

Feel free to cc debian-b...@lists.debian.org to get help/feedback from
other members of the installer team in the meanwhile.


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant