Bug#940595: transition: hypre

2019-11-08 Thread Drew Parsons

On 2019-11-09 05:45, Paul Gevers wrote:

Hi Drew,

On 03-11-2019 21:01, Paul Gevers wrote:

On 30-10-2019 08:26, Drew Parsons wrote:

So yes, the unversioned libhypre package name is certainly the option
that will preserve the greatest sanity (I'll proceed directly with
2.18.2 once you give the thumbs up).


Thumbs up.


All migrated. Closing this bug.



Thanks Paul.

Since we've got this ABI-free upstream with hypre, to save overworking 
you with future patch updates for little patch version updates (Z in 
X.Y.Z), I'm thinking to treat them as minor, so proceeding without a 
formal transition. I can request a binNMU for petsc/sundials/slepc.


Alternatively, more often than not there's a petsc upgrade waiting at 
the same time as a hypre upgrade (for example petsc 3.12 is waiting in 
experimental at the moment).  Maybe next time we can consider running a 
joint hypre/petsc/slepc transition. To save the busywork of hypre patch 
version transitions.


Drew



Bug#940595: transition: hypre

2019-11-03 Thread Paul Gevers
Control: tags -1 confirmed

Hi Drew,

On 30-10-2019 08:26, Drew Parsons wrote:
> So yes, the unversioned libhypre package name is certainly the option
> that will preserve the greatest sanity (I'll proceed directly with
> 2.18.2 once you give the thumbs up).

Thumbs up.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#940595: transition: hypre

2019-10-30 Thread Drew Parsons

On 2019-10-30 15:21, Drew Parsons wrote:


hypre 2.18.1 is now ready in experimental.

I've implemented the common libhypre option with shlibs patch-version
dependency. If this approach proves problematic in practice then we
can switch back to version-based library package names afterwards if
we need to.

I've confirmed petsc and sundials build successfully.

Let's do this transition.


p.s. for bonus lols, I just checked and yes, 2.18.2 has just been 
released...


So yes, the unversioned libhypre package name is certainly the option 
that will preserve the greatest sanity (I'll proceed directly with 
2.18.2 once you give the thumbs up).


(they're releasing unusually rapidly lately. Previously there have been 
less than 2 releases each year).




Bug#940595: transition: hypre

2019-10-30 Thread Drew Parsons

On 2019-10-18 15:56, Emilio Pozuelo Monfort wrote:

On 17/10/2019 17:05, Drew Parsons wrote:


Hi Emilio, this is rather awkward.  Hypre upstream has just released 
2.18.1, so

this would be the one to run the transition on.

...
"The hypre team currently does nothing to ensure application binary 
interface
(ABI) compatibility. As a result, all releases (major, minor, or 
patch) should

be treated as incompatible."

It means we have to run a new library package for each patch release, 
and
therefore have to jump back into the NEW queue with libhypre-2.18.1. 
 It's
either that, or provide only a generic libhypre package and apply 
rigidly strict

shlib files depending strictly on a given version.

...

Right, the strict dependency via shlibs and provides would make testing
migrations harder as everything would need to transition at the same 
time (hypre
and all rdeps). However there are three rdeps and you control two of 
them, so it

doesn't look like a terrible situation.



hypre 2.18.1 is now ready in experimental.

I've implemented the common libhypre option with shlibs patch-version 
dependency. If this approach proves problematic in practice then we can 
switch back to version-based library package names afterwards if we need 
to.


I've confirmed petsc and sundials build successfully.

Let's do this transition.

Drew



Bug#940595: transition: hypre

2019-10-18 Thread Drew Parsons

On 2019-10-18 15:56, Emilio Pozuelo Monfort wrote:

On 17/10/2019 17:05, Drew Parsons wrote:

Control: tags -1 - confirmed

On 2019-10-17 15:23, Emilio Pozuelo Monfort wrote:

Control: tags -1 confirmed

On 17/10/2019 05:53, Drew Parsons wrote:

On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:

On 12/10/2019 16:08, Drew Parsons wrote:


Thanks Emilio.  2.18.0 is now released, and waiting now in the new 
queue.
Perhaps we should hold on a bit and jump straight to 2.18.0.  That 
will save

having to process 2 transitions. What do you think?


Sure, that makes sense. Let us know once things are ready for 2.18.


hypre 2.18 is accepted now and built in experimental already.  petsc 
seems to
perform fine with the new version and sundials builds successfully.  
Let's

proceed with the transition.


Ack.



Hi Emilio, this is rather awkward.  Hypre upstream has just released 
2.18.1, so

this would be the one to run the transition on.

The particular awkwardness is that upstream does not believe in shared
libraries, and therefore does not maintain ABI compatibility even in 
patch

releases.
I asked explicitly about it, 
https://github.com/hypre-space/hypre/issues/56, and

so they've added a comment to their documentation:

"The hypre team currently does nothing to ensure application binary 
interface
(ABI) compatibility. As a result, all releases (major, minor, or 
patch) should

be treated as incompatible."

It means we have to run a new library package for each patch release, 
and
therefore have to jump back into the NEW queue with libhypre-2.18.1. 
 It's
either that, or provide only a generic libhypre package and apply 
rigidly strict

shlib files depending strictly on a given version.

I'd be interested to hear which option you think is best. A strict 
shlibs
dependency with a generic ABI-free package name would save having to 
traverse
the NEW queue each time but would be a little brutal on testing 
migrations and

general archive robustness.


Right, the strict dependency via shlibs and provides would make testing
migrations harder as everything would need to transition at the same 
time (hypre
and all rdeps). However there are three rdeps and you control two of 
them, so it

doesn't look like a terrible situation.

OTOH bumping the package name (if that's what upstream does with the 
SONAME) is

probably preferable despite the NEW roundtrip.

Another option would be for you to review the changes in point releases 
and
assess whether there is an ABI break or not, and avoid bumping the 
shlibs /

provides in that case. In fact you could mix the two, shipping e.g.
libhypre-2.18 with Provides: hypre-abi-2.18.0, and strict dependencies 
on that
for rdeps. Then if you update to 2.18.1 and there's no ABI break, you 
don't

change that.

But that may be overcomplicating things for a package with so few 
rdeps.



Thanks for the options, Emilio.  Tracking ABI changes manually sounds 
like a recipe for disaster, especially if upstream is promising to be 
capricious with ABI changes.  Given the small number of rdeps, the 
strict shlibs might prove less painful than putting up with the NEW 
queue wait. Normally the new versions don't happen so often, upstream 
has just been a bit busier than usual the last month or two. I'll have a 
think on it a little then choose one option or the other. Would need to 
jump into NEW queue anyway to get the libhypre shlibs option started.


Drew



Bug#940595: transition: hypre

2019-10-18 Thread Emilio Pozuelo Monfort
On 17/10/2019 17:05, Drew Parsons wrote:
> Control: tags -1 - confirmed
> 
> On 2019-10-17 15:23, Emilio Pozuelo Monfort wrote:
>> Control: tags -1 confirmed
>>
>> On 17/10/2019 05:53, Drew Parsons wrote:
>>> On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:
 On 12/10/2019 16:08, Drew Parsons wrote:
>
> Thanks Emilio.  2.18.0 is now released, and waiting now in the new queue.
> Perhaps we should hold on a bit and jump straight to 2.18.0.  That will 
> save
> having to process 2 transitions. What do you think?

 Sure, that makes sense. Let us know once things are ready for 2.18.
>>>
>>> hypre 2.18 is accepted now and built in experimental already.  petsc seems 
>>> to
>>> perform fine with the new version and sundials builds successfully.  Let's
>>> proceed with the transition.
>>
>> Ack.
> 
> 
> Hi Emilio, this is rather awkward.  Hypre upstream has just released 2.18.1, 
> so
> this would be the one to run the transition on.
> 
> The particular awkwardness is that upstream does not believe in shared
> libraries, and therefore does not maintain ABI compatibility even in patch
> releases.
> I asked explicitly about it, https://github.com/hypre-space/hypre/issues/56, 
> and
> so they've added a comment to their documentation:
> 
> "The hypre team currently does nothing to ensure application binary interface
> (ABI) compatibility. As a result, all releases (major, minor, or patch) should
> be treated as incompatible."
> 
> It means we have to run a new library package for each patch release, and
> therefore have to jump back into the NEW queue with libhypre-2.18.1.  It's
> either that, or provide only a generic libhypre package and apply rigidly 
> strict
> shlib files depending strictly on a given version.
> 
> I'd be interested to hear which option you think is best. A strict shlibs
> dependency with a generic ABI-free package name would save having to traverse
> the NEW queue each time but would be a little brutal on testing migrations and
> general archive robustness.

Right, the strict dependency via shlibs and provides would make testing
migrations harder as everything would need to transition at the same time (hypre
and all rdeps). However there are three rdeps and you control two of them, so it
doesn't look like a terrible situation.

OTOH bumping the package name (if that's what upstream does with the SONAME) is
probably preferable despite the NEW roundtrip.

Another option would be for you to review the changes in point releases and
assess whether there is an ABI break or not, and avoid bumping the shlibs /
provides in that case. In fact you could mix the two, shipping e.g.
libhypre-2.18 with Provides: hypre-abi-2.18.0, and strict dependencies on that
for rdeps. Then if you update to 2.18.1 and there's no ABI break, you don't
change that.

But that may be overcomplicating things for a package with so few rdeps.

Cheers,
Emilio



Bug#940595: transition: hypre

2019-10-17 Thread Drew Parsons

Control: tags -1 - confirmed

On 2019-10-17 15:23, Emilio Pozuelo Monfort wrote:

Control: tags -1 confirmed

On 17/10/2019 05:53, Drew Parsons wrote:

On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:

On 12/10/2019 16:08, Drew Parsons wrote:


Thanks Emilio.  2.18.0 is now released, and waiting now in the new 
queue.
Perhaps we should hold on a bit and jump straight to 2.18.0.  That 
will save

having to process 2 transitions. What do you think?


Sure, that makes sense. Let us know once things are ready for 2.18.


hypre 2.18 is accepted now and built in experimental already.  petsc 
seems to
perform fine with the new version and sundials builds successfully.  
Let's

proceed with the transition.


Ack.



Hi Emilio, this is rather awkward.  Hypre upstream has just released 
2.18.1, so this would be the one to run the transition on.


The particular awkwardness is that upstream does not believe in shared 
libraries, and therefore does not maintain ABI compatibility even in 
patch releases.
I asked explicitly about it, 
https://github.com/hypre-space/hypre/issues/56, and so they've added a 
comment to their documentation:


"The hypre team currently does nothing to ensure application binary 
interface (ABI) compatibility. As a result, all releases (major, minor, 
or patch) should be treated as incompatible."


It means we have to run a new library package for each patch release, 
and therefore have to jump back into the NEW queue with libhypre-2.18.1. 
 It's either that, or provide only a generic libhypre package and apply 
rigidly strict shlib files depending strictly on a given version.


I'd be interested to hear which option you think is best. A strict 
shlibs dependency with a generic ABI-free package name would save having 
to traverse the NEW queue each time but would be a little brutal on 
testing migrations and general archive robustness.


I've preemptively de-confirmed the transition.

Drew



Bug#940595: transition: hypre

2019-10-17 Thread Emilio Pozuelo Monfort
Control: tags -1 confirmed

On 17/10/2019 05:53, Drew Parsons wrote:
> On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:
>> On 12/10/2019 16:08, Drew Parsons wrote:
>>>
>>> Thanks Emilio.  2.18.0 is now released, and waiting now in the new queue.
>>> Perhaps we should hold on a bit and jump straight to 2.18.0.  That will save
>>> having to process 2 transitions. What do you think?
>>
>> Sure, that makes sense. Let us know once things are ready for 2.18.
> 
> hypre 2.18 is accepted now and built in experimental already.  petsc seems to
> perform fine with the new version and sundials builds successfully.  Let's
> proceed with the transition.

Ack.

Emilio



Bug#940595: transition: hypre

2019-10-16 Thread Drew Parsons

On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:

On 12/10/2019 16:08, Drew Parsons wrote:


Thanks Emilio.  2.18.0 is now released, and waiting now in the new 
queue.
Perhaps we should hold on a bit and jump straight to 2.18.0.  That 
will save

having to process 2 transitions. What do you think?


Sure, that makes sense. Let us know once things are ready for 2.18.


hypre 2.18 is accepted now and built in experimental already.  petsc 
seems to perform fine with the new version and sundials builds 
successfully.  Let's proceed with the transition.


Drew



Bug#940595: transition: hypre

2019-10-12 Thread Drew Parsons

On 2019-10-12 22:19, Emilio Pozuelo Monfort wrote:

Control: tags -1 - confirmed

Hi Drew,

On 12/10/2019 16:08, Drew Parsons wrote:

On 2019-10-12 21:59, Emilio Pozuelo Monfort wrote:


I'd like to proceed with the hypre transition to 2.17.0.

I've tested that petsc and sundials build successfully with the new
hypre.


Please go ahead.


Thanks Emilio.  2.18.0 is now released, and waiting now in the new 
queue.
Perhaps we should hold on a bit and jump straight to 2.18.0.  That 
will save

having to process 2 transitions. What do you think?


Sure, that makes sense. Let us know once things are ready for 2.18.



Thanks again. I'll send the note once it's stabilised in experimental.

Drew



Bug#940595: transition: hypre

2019-10-12 Thread Emilio Pozuelo Monfort
Control: tags -1 - confirmed

Hi Drew,

On 12/10/2019 16:08, Drew Parsons wrote:
> On 2019-10-12 21:59, Emilio Pozuelo Monfort wrote:
>>>
>>> I'd like to proceed with the hypre transition to 2.17.0.
>>>
>>> I've tested that petsc and sundials build successfully with the new
>>> hypre.
>>
>> Please go ahead.
> 
> Thanks Emilio.  2.18.0 is now released, and waiting now in the new queue.
> Perhaps we should hold on a bit and jump straight to 2.18.0.  That will save
> having to process 2 transitions. What do you think?

Sure, that makes sense. Let us know once things are ready for 2.18.

Cheers,
Emilio



Bug#940595: transition: hypre

2019-10-12 Thread Drew Parsons

On 2019-10-12 21:59, Emilio Pozuelo Monfort wrote:


I'd like to proceed with the hypre transition to 2.17.0.

I've tested that petsc and sundials build successfully with the new
hypre.


Please go ahead.


Thanks Emilio.  2.18.0 is now released, and waiting now in the new 
queue. Perhaps we should hold on a bit and jump straight to 2.18.0.  
That will save having to process 2 transitions. What do you think?


Drew



Bug#940595: transition: hypre

2019-10-12 Thread Emilio Pozuelo Monfort
Control: tags -1 confirmed

On 17/09/2019 17:35, Drew Parsons wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian@packages.debian.org
> Usertags: transition
> 
> I'd like to proceed with the hypre transition to 2.17.0.
> 
> I've tested that petsc and sundials build successfully with the new
> hypre.

Please go ahead.

Emilio



Bug#940595: transition: hypre

2019-09-17 Thread Drew Parsons
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: transition

I'd like to proceed with the hypre transition to 2.17.0.

I've tested that petsc and sundials build successfully with the new
hypre.

Ben file:

title = "hypre";
is_affected = .depends ~ "libhypre-2.16.0" | .depends ~ "libhypre-2.17.0";
is_good = .depends ~ "libhypre-2.17.0";
is_bad = .depends ~ "libhypre-2.16.0";


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.2.0-2-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled