Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-04-21 Thread Matteo F. Vescovi
Hi!

On Thu, Apr 20, 2023 at 7:15 PM Andreas Metzler  wrote:

> Hello Paul,
>
> I will not have time for a NMU before next week, I can probably fit it
> in then.
>

If it's ok for you, I'll fix it during the weekend.

Cheers.

 --
Matteo F. Vescovi || Debian Developer
GnuPG KeyID: 4096R/0x8062398983B2CF7A


Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-04-20 Thread Andreas Metzler
On 2023-04-20 Paul Gevers  wrote:
> Hi Andreas,

> On Fri, 31 Mar 2023 15:06:14 +0200 Andreas Metzler  wrote:
> > I think 2.5.7-2 was the last sourceful < 3 upload, so (<< 2.5.7-3)
> > should work.

> And to be backports and other local packages, I think that could/should be
> (<< 2.5.7-3~).

> Can a/this fix be uploaded soon please? We're trying to pick a bookworm
> release date and a fix should be in.

Hello Paul,

I will not have time for a NMU before next week, I can probably fit it
in then.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-04-20 Thread Paul Gevers

Hi Andreas,

On Fri, 31 Mar 2023 15:06:14 +0200 Andreas Metzler  wrote:

I think 2.5.7-2 was the last sourceful < 3 upload, so (<< 2.5.7-3)
should work.


And to be backports and other local packages, I think that could/should 
be (<< 2.5.7-3~).


Can a/this fix be uploaded soon please? We're trying to pick a bookworm 
release date and a fix should be in.


Paul


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-03-31 Thread Andreas Metzler
Control: tags -1 confirmed patch

On 2023-03-28 Felix Stupp  wrote:
> Package: libopenexr-dev
> Version: 3.1.5-4
> Severity: serious
> Justification: Policy 7.4
> X-Debbugs-Cc: me+debian-b...@banananet.work

> Dear Maintainer,

> I cannot upgrade this package from version 2.5.7-1 to version 3.1.5-4
> due to a file conflict with the package libilmbase-dev on version
[...]

Thank you Felix! dist-upgrading from libopenexr{25,-dev} 2.5.7-1 and
libilmbase{25,-dev} 2.5.7-2+b1 fails with

Preparing to unpack .../libopenexr-dev_3.1.5-4_amd64.deb ...
Unpacking libopenexr-dev (3.1.5-4) over (2.5.7-1) ...
dpkg: error processing archive 
/var/cache/apt/archives/libopenexr-dev_3.1.5-4_amd64.deb (--unpack):
 trying to overwrite '/usr/include/OpenEXR/Iex.h', which is also in package 
libilmbase-dev:amd64 2.5.7-2+b1

due to the versioning of the Breaks:/Replaces which was not binNMU-safe:
ametzler@argenau:/tmp$ dpkg --info 
/var/cache/apt/archives/libopenexr-dev_3.1.5-4_amd64.deb  | grep 'Breaks\|Repl'
 Breaks: libilmbase-dev (<= 2.5.7-2)
 Replaces: libilmbase-dev (<= 2.5.7-2)

I think 2.5.7-2 was the last sourceful < 3 upload, so (<< 2.5.7-3)
should work.

---
diff --git a/debian/changelog b/debian/changelog
index 9c5fae4..fa9c263 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+openexr (3.1.5-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Make versioning of libilmbase-dev Breaks/Replaces binNMU-safe.
+Closes: #1033617
+
+ -- Andreas Metzler   Fri, 31 Mar 2023 15:02:17 +0200
+
 openexr (3.1.5-4) unstable; urgency=medium

   * d/control: Add missing zlib1g-dev dependency. Closes: #1017516
diff --git a/debian/control b/debian/control
index 5fecc23..3d783c2 100644
--- a/debian/control
+++ b/debian/control
@@ -49,8 +49,8 @@ Package: libopenexr-dev
 Section: libdevel
 Architecture: any
 Pre-Depends: ${misc:Pre-Depends}
-Replaces: libilmbase-dev (<= 2.5.7-2)
-Breaks: libilmbase-dev (<= 2.5.7-2)
+Replaces: libilmbase-dev (<< 2.5.7-3)
+Breaks: libilmbase-dev (<< 2.5.7-3)
 Depends: libimath-dev (>= 3.1.2),
  libopenexr-3-1-30 (= ${binary:Version}),
  zlib1g-dev,
--

cu Andreas

-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-03-30 Thread Felix Stupp
Hello,

that's true, somehow I messed up the version number, sorry.
I had libilmbase-dev version 2.5.7-2+b1 installed when I ran into this issue 
according to my aptitude log.

I also tried out to reproduce the issue again in Docker & succeeded, see the 
attached Dockerfile.

However, after seeing how old both package versions are and that these exact 
versions were not available at the same time,
I do not know how I ended up with exactly these versions and using them until 
just a few days ago.
Maybe another package which wasn't updated for quite a while had a hardlocked 
dependency.
To know for sure, I would need to restore the full list of packages & versions 
I had installed before upgrading by reading the dpkg logs.

Best Regards,
Felix Stupp

Am Mittwoch, 29. März 2023, 19:06:29 CEST schrieben Sie:
> On 2023-03-28 Felix Stupp  wrote:
> > Package: libopenexr-dev
> > Version: 3.1.5-4
> > Severity: serious
> > Justification: Policy 7.4
> > X-Debbugs-Cc: me+debian-b...@banananet.work
> 
> > Dear Maintainer,
> 
> > I cannot upgrade this package from version 2.5.7-1 to version 3.1.5-4
> > due to a file conflict with the package libilmbase-dev on version
> > 2.5.4-1. I tried with apt & aptitude as well. Both want to replace
> > libilmbase-dev with libopenexr-dev in a single execution of them, but
> > fail to do that in a way that dpkg allows that (tries first to install
> > the new package and then uninstall the old one).
> > Currently I see no other solution than removing the old one first aside
> > with all packages depending it on it, and then installing the new one
> > with all packages which were removed before.
> [...]
> 
> Hello,
> 
> I cannot reporoduce this from your description because the original
> setup you started with
> 
> libopenexr-dev +  libopenexr25 2.5.7-1
> libilmbase-dev + libilmbase25 2.5.4-1
> 
> is not installable, libopenexr25 2.5.7-1 depends on libilmbase25 (>= 2.5.7).
> 
> cu Andreas
> FROM docker.io/library/debian:bookworm-20230320

# Install tools required further
RUN apt-get update && apt-get install -y aptitude

# Disable current and enable snapshot repository
RUN sed -i -r 's~# ~URIs: ~;s~URIs:( http://deb.debian.org)~#\1~' 
/etc/apt/sources.list.d/debian.sources


# Enable old enough snapshot repository
RUN sed -i -r 's~# ~URIs: ~;s~/20[0-9]*(T[0-9]*Z)$~/20210929\1~;s~URIs:( 
http://deb.debian.org)~#\1~' /etc/apt/sources.list.d/debian.sources
RUN aptitude -o Acquire::Check-Valid-Until=false update

# Install packages to break
RUN aptitude install -y libopenexr-dev=2.5.7-1


# Jump to specific date
RUN sed -i -r 's~/20[0-9]*(T[0-9]*Z)$~/20221010\1~' 
/etc/apt/sources.list.d/debian.sources
RUN cat /etc/apt/sources.list.d/debian.sources
RUN aptitude -o Acquire::Check-Valid-Until=false update

# Install packages to break
RUN aptitude install -y libilmbase-dev=2.5.7-2+b1


# Reset to newer repository
RUN sed -i -r 's~# ~URIs: ~;s~URIs:( http://snapshot.debian.org)~#\1~' 
/etc/apt/sources.list.d/debian.sources
RUN aptitude update

# Try to upgrade package with following command:
# apt install -y libopenexr-dev>=3.1.5-4



Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-03-29 Thread Andreas Metzler
On 2023-03-28 Felix Stupp  wrote:
> Package: libopenexr-dev
> Version: 3.1.5-4
> Severity: serious
> Justification: Policy 7.4
> X-Debbugs-Cc: me+debian-b...@banananet.work

> Dear Maintainer,

> I cannot upgrade this package from version 2.5.7-1 to version 3.1.5-4
> due to a file conflict with the package libilmbase-dev on version
> 2.5.4-1. I tried with apt & aptitude as well. Both want to replace
> libilmbase-dev with libopenexr-dev in a single execution of them, but
> fail to do that in a way that dpkg allows that (tries first to install
> the new package and then uninstall the old one).
> Currently I see no other solution than removing the old one first aside
> with all packages depending it on it, and then installing the new one
> with all packages which were removed before.
[...]

Hello,

I cannot reporoduce this from your description because the original
setup you started with

libopenexr-dev +  libopenexr25 2.5.7-1
libilmbase-dev + libilmbase25 2.5.4-1

is not installable, libopenexr25 2.5.7-1 depends on libilmbase25 (>= 2.5.7).

cu Andreas



Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-03-28 Thread Felix Stupp
for documentation purposes, I now fixed the issue for my systems by 
force-removing the old package first with dpkg and then installing its 
replacements with markauto:

sudo dpkg --remove --force-depends libilmbase-dev
sudo aptitude install lib{imath,openexr}-dev+M  # or apt install --mark-auto 
lib{imath,openexr}-dev



Bug#1033617: libopenexr-dev: Cannot just upgrade libopenexr-dev to 3.1.5-4 because of file conflict with older version of libilmbase-dev

2023-03-28 Thread Felix Stupp
Package: libopenexr-dev
Version: 3.1.5-4
Severity: serious
Justification: Policy 7.4
X-Debbugs-Cc: me+debian-b...@banananet.work

Dear Maintainer,

I cannot upgrade this package from version 2.5.7-1 to version 3.1.5-4
due to a file conflict with the package libilmbase-dev on version
2.5.4-1. I tried with apt & aptitude as well. Both want to replace
libilmbase-dev with libopenexr-dev in a single execution of them, but
fail to do that in a way that dpkg allows that (tries first to install
the new package and then uninstall the old one).
Currently I see no other solution than removing the old one first aside
with all packages depending it on it, and then installing the new one
with all packages which were removed before.

They already have a "Breaks" & a "Replace" relationship, which seems to
be right, but I assume adding a "Conflicts" relation will fix that,
for "Breaks" "dpkg will refuse to allow the package […] to be unpacked
unless the broken package is deconfigured first", while for "Conflicts"
it says that "dpkg will refuse to allow them to be unpacked on the
system at the same time".

I marked this bug as serious as I think, even if another solution may be
found, that still a Conflicts field on this package referring to the
older one may be required unless that is not possible. However, I'm not
100% sure, so feel free to change the severity. Maybe I just ran into
this problem due to other circumstances a stable user will not run into.

Also I assume that if this configuration will be released into bookworm,
others will having problems as well.

Best Regards,
Felix Stupp


-- System Information:
Debian Release: 12.0
  APT prefers testing
  APT policy: (550, 'testing'), (500, 'testing-security'), (400, 
'stable-updates'), (400, 'stable-security'), (400, 'stable'), (110, 
'unstable'), (102, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-3-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libopenexr-dev depends on:
pn  libilmbase-dev  
ii  libopenexr252.5.7-1

libopenexr-dev recommends no packages.

libopenexr-dev suggests no packages.

-- no debconf information