Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2019-04-16 Thread GCS
On Sat, Apr 13, 2019 at 12:02 PM Niels Thykier  wrote:
> From a release team PoV, we would very much like to see this be fixed
> with a Breaks as well.
 I've prepared the change and attached to this email. This will make
libarcus3 and cura-engine need to be upgraded in the same time to
package versions which was built with libprotobuf17.

> On the flip side, having libprotobuf10 remain on some systems during
> upgrades will spell trouble for us later.  Each release, we see a number
> of upgrade issues related to old, long obsolete packages that were
> removed releases ago.  Lets ensure libprotobuf10 does not become one of
> them for bullseye or later.
 In the last five years (I can remember about protobuf) upstream only
increased the soname - I don't think it will change. But I'll try to
remember and with the new upstream release (targeting Bullseye) add a
break to libprotobuf10.

Regards,
Laszlo/GCS
diff -Nru protobuf-3.6.1.3/debian/control protobuf-3.6.1.3/debian/control
--- protobuf-3.6.1.3/debian/control	2018-12-09 12:45:11.0 +
+++ protobuf-3.6.1.3/debian/control	2019-04-16 22:12:03.0 +
@@ -66,6 +66,7 @@
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: libarcus3 (<< 3.3.0-2), cura-engine (<< 1:3.3.0-2.1+b1)
 Description: protocol buffers C++ library
  Protocol buffers are a flexible, efficient, automated mechanism for
  serializing structured data - similar to XML, but smaller, faster, and


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2019-04-13 Thread Niels Thykier
On Wed, 3 Apr 2019 00:04:43 +0200 Andreas Beckmann  wrote:
> [...]
> 
> What's the point in having a cruft package (libprotobuf10) installable
> in buster, if it has been shown that this allows partial upgrades (yes,
> partial upgrades *are* supported) that reproducibly cause failures?
> The cruft package itself does not cause harm. It's the combination with
> other packages that's problematic. There is an easy solution to prevent
> all these (see Subject), without imposing any limitation on buster.
> 
> While it is possible to add the Breaks to libarcus3 instead, is this
> sufficient to prevent *all* failure cases? Which package will be the
> next to be touched to prevent mixture errors?
> 
> There is no point in touching Build-Depends, as we can't build against
> this cruft in sid.
> 
> Andreas
> 
> 

Hi,

>From a release team PoV, we would very much like to see this be fixed
with a Breaks as well.
> Hi Pirate,
> 
> On Sat, Oct 20, 2018 at 10:39 AM Pirate Praveen
>  wrote:
>> On Mon, 15 Oct 2018 16:26:23 +0300 Adrian Bunk  wrote:
>> > When it has been observed that ending up with both libprotobuf10 and
>> > libprotobuf17 in a binary will not work, then this should be expressed
>> > through the package dependencies.
>  ... of the binaries that need to be compiled with the same ProtoBuf version.
> 
>> Are you planning to upload this fix? Testing migration is currently
>> blocked by this rc bug and there is a delay caused by autopkgtest failure.
>  Let's break it to parts.
> 1) Can libprotobuf10 and libprotobuf17 installed together and
> independent packages working correctly with these libraries? Yes,
> these are possible. I don't see the need to break the old
> libprotobuf10 package.
> 


While libprotobuf10 and libprotobuf17 *can* be installed together,
nothing in buster should rely on libprotobuf10 any longer.  Indeed,
libprotobuf10 is not even in buster any longer.

> [...]
>> > That would avoid a couple of potential problems in situations like
>> > stretch->buster upgrades or for testing users.
>  Breaking libprotobuf10 would cause more problems. All ProtoBuf
> related packages would need to migrate once and together. Cause
> problem with any local compiled program for libprotobuf10.
> 

This may have been an issue at that time, but it no longer is (as
libprotobuf10 is not in testing anymore).


On the flip side, having libprotobuf10 remain on some systems during
upgrades will spell trouble for us later.  Each release, we see a number
of upgrade issues related to old, long obsolete packages that were
removed releases ago.  Lets ensure libprotobuf10 does not become one of
them for bullseye or later.

Thanks,
~Niels



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2019-04-02 Thread Andreas Beckmann
On Sun, 31 Mar 2019 16:51:51 +0200 Giovanni Mascellani 
wrote:
> Hi,
> 
> On Sat, 27 Oct 2018 17:30:32 +0300 Adrian Bunk  wrote:
> > Properly handling this in package like libarcus3 becomes difficult once 
> > you consider that such packages might be backported to stretch-backports
> > and would use libprotobuf10 there.
> > 
> > We might even end up with upgrade failures if a user could end up with
> > a nonworking combination of packages installed during an upgrade, and
> > a maintainer script calls such a nonworking program.
> 
> This is a sensible concern, but I share László's view here: the two
> versions of protobuf are not in conflict and can happily coexist on the
> same system, so there is no reason to declare a Break. What must be
> ensured is that no package depends on both at the same time: wouldn't it
> be better that this last package declared Conflicts and possibly
> Build-Conflicts towards the version of protobuf that is not meant to be
> used?

What's the point in having a cruft package (libprotobuf10) installable
in buster, if it has been shown that this allows partial upgrades (yes,
partial upgrades *are* supported) that reproducibly cause failures?
The cruft package itself does not cause harm. It's the combination with
other packages that's problematic. There is an easy solution to prevent
all these (see Subject), without imposing any limitation on buster.

While it is possible to add the Breaks to libarcus3 instead, is this
sufficient to prevent *all* failure cases? Which package will be the
next to be touched to prevent mixture errors?

There is no point in touching Build-Depends, as we can't build against
this cruft in sid.

Andreas



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2019-03-31 Thread Giovanni Mascellani
Hi,

On Sat, 27 Oct 2018 17:30:32 +0300 Adrian Bunk  wrote:
> Properly handling this in package like libarcus3 becomes difficult once 
> you consider that such packages might be backported to stretch-backports
> and would use libprotobuf10 there.
> 
> We might even end up with upgrade failures if a user could end up with
> a nonworking combination of packages installed during an upgrade, and
> a maintainer script calls such a nonworking program.

This is a sensible concern, but I share László's view here: the two
versions of protobuf are not in conflict and can happily coexist on the
same system, so there is no reason to declare a Break. What must be
ensured is that no package depends on both at the same time: wouldn't it
be better that this last package declared Conflicts and possibly
Build-Conflicts towards the version of protobuf that is not meant to be
used?

Hop this helps, Giovanni.
-- 
Giovanni Mascellani 
Postdoc researcher - Université Libre de Bruxelles



signature.asc
Description: OpenPGP digital signature


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-27 Thread Adrian Bunk
On Sat, Oct 27, 2018 at 08:34:49AM +0530, Pirate Praveen wrote:
> 
> 
> On 2018, ഒക്‌ടോബർ 27 2:38:23 AM IST, Adrian Bunk  wrote:
> >No, it is not.
> >
> >I would expect everything that fails during build time to fail the same
> >
> >way at runtime.
> >
> 
> Can you reproduce the bug? Once it is built against the correct version, it 
> will use that version only.

After downgrading libarcus3 to 3.3.0-1:

$ CuraEngine 
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program yourself, make sure that your 
headers are from the same version of Protocol Buffers as your link-time 
library.  (Version verification failed in "google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 
'google::protobuf::FatalException'
  what():  This program was compiled against version 3.0.0 of the Protocol 
Buffer runtime library, which is not compatible with the installed version 
(3.6.1).  Contact the program author for an update. If you compiled the program 
yourself, make sure that your headers are from the same version of Protocol 
Buffers as your link-time library.  (Version verification failed in 
"google/protobuf/any.pb.cc".)
Aborted
$ 

Properly handling this in package like libarcus3 becomes difficult once 
you consider that such packages might be backported to stretch-backports
and would use libprotobuf10 there.

We might even end up with upgrade failures if a user could end up with
a nonworking combination of packages installed during an upgrade, and
a maintainer script calls such a nonworking program.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-26 Thread Pirate Praveen



On 2018, ഒക്‌ടോബർ 27 2:38:23 AM IST, Adrian Bunk  wrote:
>No, it is not.
>
>I would expect everything that fails during build time to fail the same
>
>way at runtime.
>

Can you reproduce the bug? Once it is built against the correct version, it 
will use that version only.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-26 Thread Adrian Bunk
Control: severity -1 serious
Control: retitle -1 libprotobuf17 needs Breaks: libprotobuf10

On Sun, Oct 21, 2018 at 01:27:52PM +0530, Pirate Praveen wrote:
> On Sat, 20 Oct 2018 11:36:55 +0200
> =?UTF-8?B?TMOhc3psw7MgQsO2c3rDtnJtw6lueWkgKEdDUyk=?=  wrote:
> >  Let's break it to parts.
> > 1) Can libprotobuf10 and libprotobuf17 installed together and
> > independent packages working correctly with these libraries? Yes,
> > these are possible. I don't see the need to break the old
> > libprotobuf10 package.
> 
> OK. Since its only an issue during build time and not runtime, I think
> we can reduce the severity of this bug.

No, it is not.

I would expect everything that fails during build time to fail the same 
way at runtime.

> > 2) Packages that depend on each other, need to be compiled with the
> > same ProtoBuf version. This should be expressed in those package
> > dependencies.
>...

How exactly do you want this to be "expressed in those package 
dependencies" so that it is ensured that any kind of stretch/buster/sid
mixing that is permitted by the package dependencies is also working?

If you actually have a complete solution that is better than a
Breaks: libprotobuf10 in libprotobuf17, please share the details.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-22 Thread Pirate Praveen
On Sat, 20 Oct 2018 11:36:55 +0200
=?UTF-8?B?TMOhc3psw7MgQsO2c3rDtnJtw6lueWkgKEdDUyk=?=  wrote:
> 2) Packages that depend on each other, need to be compiled with the
> same ProtoBuf version. This should be expressed in those package
> dependencies.

You might want to comment here
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900429#36

> 3) Self-tests need fixing, this is clear.

Now there is only a warning, it can be fixed by adding Restrictions:
allow-stderr in debian/tests/control.



signature.asc
Description: OpenPGP digital signature


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-22 Thread Pirate Praveen
On Sun, 21 Oct 2018 13:27:52 +0530 Pirate Praveen
 wrote:
> I have also asked upstream for support here
> https://github.com/protocolbuffers/protobuf/issues/5276 there is already
> one person assigned to it.
> 

Upstream confirmed it is debian specific and it seems this should be
merged with #911404.



signature.asc
Description: OpenPGP digital signature


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-21 Thread Pirate Praveen
On Sat, 20 Oct 2018 11:36:55 +0200
=?UTF-8?B?TMOhc3psw7MgQsO2c3rDtnJtw6lueWkgKEdDUyk=?=  wrote:
>  Let's break it to parts.
> 1) Can libprotobuf10 and libprotobuf17 installed together and
> independent packages working correctly with these libraries? Yes,
> these are possible. I don't see the need to break the old
> libprotobuf10 package.

OK. Since its only an issue during build time and not runtime, I think
we can reduce the severity of this bug.

> 2) Packages that depend on each other, need to be compiled with the
> same ProtoBuf version. This should be expressed in those package
> dependencies.

Then we'll need to clone this bug and assign to cura-engine and
ignition-transport (build currently failing on all archs). I don't know
if this needs to be extended to android-platform-frameworks-base bitcoin
caffe-contrib litecoin mixxx which failed to build on some archs.

> 3) Self-tests need fixing, this is clear.

I have retitled the bug and sine autopkgtest failure is not rc and its
really an issue of tests and not protobuf itself, I think we can reduce
severity to important.

> > protobuf 3.6.1 autopkgtest is failing with this error, can you help
> > fixing this?
>  I'll also check these, but help might be needed. My Java knowledge is
> very rusty.

I have also asked upstream for support here
https://github.com/protocolbuffers/protobuf/issues/5276 there is already
one person assigned to it.



signature.asc
Description: OpenPGP digital signature


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-20 Thread GCS
Hi Pirate,

On Sat, Oct 20, 2018 at 10:39 AM Pirate Praveen
 wrote:
> On Mon, 15 Oct 2018 16:26:23 +0300 Adrian Bunk  wrote:
> > When it has been observed that ending up with both libprotobuf10 and
> > libprotobuf17 in a binary will not work, then this should be expressed
> > through the package dependencies.
 ... of the binaries that need to be compiled with the same ProtoBuf version.

> Are you planning to upload this fix? Testing migration is currently
> blocked by this rc bug and there is a delay caused by autopkgtest failure.
 Let's break it to parts.
1) Can libprotobuf10 and libprotobuf17 installed together and
independent packages working correctly with these libraries? Yes,
these are possible. I don't see the need to break the old
libprotobuf10 package.

2) Packages that depend on each other, need to be compiled with the
same ProtoBuf version. This should be expressed in those package
dependencies.

3) Self-tests need fixing, this is clear.

> > That would avoid a couple of potential problems in situations like
> > stretch->buster upgrades or for testing users.
 Breaking libprotobuf10 would cause more problems. All ProtoBuf
related packages would need to migrate once and together. Cause
problem with any local compiled program for libprotobuf10.

> > It should also fix the autopkgtest failures that are currently
> > preventing protobuf from entering testing this month.
>
> I added Breaks and ran autopkgtests again, but it still failed.
 Indeed, breaks in ProtoBuf is not the solution. This needs
investigating, maybe updating the tests.

> I think the examples are not updated for new api. New jar file does not
> have this class.
[...]
> protobuf 3.6.1 autopkgtest is failing with this error, can you help
> fixing this?
 I'll also check these, but help might be needed. My Java knowledge is
very rusty.

Regards,
Laszlo/GCS



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-20 Thread Pirate Praveen
[copying debian-java as the failure is java related]

On Mon, 15 Oct 2018 16:26:23 +0300 Adrian Bunk  wrote:
> Yes, that's what I also suspect.
> 
> When it has been observed that ending up with both libprotobuf10 and 
> libprotobuf17 in a binary will not work, then this should be expressed 
> through the package dependencies.

Hi Laszlo,

Are you planning to upload this fix? Testing migration is currently
blocked by this rc bug and there is a delay caused by autopkgtest failure.

> That would avoid a couple of potential problems in situations like 
> stretch->buster upgrades or for testing users.
> 
> It should also fix the autopkgtest failures that are currently
> preventing protobuf from entering testing this month.

I added Breaks and ran autopkgtests again, but it still failed.

diff --git a/debian/control b/debian/control
index cae7232..d060e8c 100644
--- a/debian/control
+++ b/debian/control
@@ -66,6 +66,7 @@ Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: libprotobuf10 (<< 3.6.1~)
 Description: protocol buffers C++ library
  Protocol buffers are a flexible, efficient, automated mechanism for
  serializing structured data - similar to XML, but smaller, faster, and


I think the examples are not updated for new api. New jar file does not
have this class.

Hi java team,

protobuf 3.6.1 autopkgtest is failing with this error, can you help
fixing this?


javac -cp $CLASSPATH AddPerson.java ListPeople.java
com/example/tutorial/AddressBookProtos.java
com/example/tutorial/AddressBookProtos.java:1077: error: cannot find symbol
private com.google.protobuf.Timestamp lastUpdated_;


full log,
https://ci.debian.net/data/packages/unstable/amd64/p/protobuf/latest-autopkgtest/log.gz

Thanks
Praveen



signature.asc
Description: OpenPGP digital signature


Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-15 Thread Adrian Bunk
On Mon, Oct 15, 2018 at 06:33:50PM +0530, Pirate Praveen wrote:
> On Sat, 13 Oct 2018 23:42:59 +0300 Adrian Bunk  wrote:
> > Package: libprotobuf17
> > Version: 3.6.1-2
> > Severity: serious
> > Control: affects -1 src:cura-engine
>
> I think this was caused by another dependency still built against older
> protobuf.
>...

Yes, that's what I also suspect.

When it has been observed that ending up with both libprotobuf10 and 
libprotobuf17 in a binary will not work, then this should be expressed 
through the package dependencies.

That would avoid a couple of potential problems in situations like 
stretch->buster upgrades or for testing users.

It should also fix the autopkgtest failures that are currently
preventing protobuf from entering testing this month.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Bug#910964: libprotobuf17 might need Breaks: libprotobuf10

2018-10-13 Thread Adrian Bunk
Package: libprotobuf17
Version: 3.6.1-2
Severity: serious
Control: affects -1 src:cura-engine

https://buildd.debian.org/status/package.php?p=cura-engine=sid

...
Running tests...
/usr/bin/ctest --force-new-ctest-process -j4
Test project /<>/obj-x86_64-linux-gnu
Start 1: SpaceFillingTreeFillTest
Start 2: SparseGridTest
Start 3: IntPointTest
Start 4: LinearAlg2DTest
1/8 Test #1: SpaceFillingTreeFillTest .***Exception: Child aborted  
0.02 sec
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program yourself, make sure that your 
headers are from the same version of Protocol Buffers as your link-time 
library.  (Version verification failed in "google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 
'google::protobuf::FatalException'
  what():  This program was compiled against version 3.0.0 of the Protocol 
Buffer runtime library, which is not compatible with the installed version 
(3.6.1).  Contact the program author for an update.  If you compiled the 
program yourself, make sure that your headers are from the same version of 
Protocol Buffers as your link-time library.  (Version verification failed in 
"google/protobuf/any.pb.cc".)

Start 5: PolygonUtilsTest
2/8 Test #2: SparseGridTest ...***Exception: Child aborted  
0.03 sec
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program yourself, make sure that your 
headers are from the same version of Protocol Buffers as your link-time 
library.  (Version verification failed in "google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 
'google::protobuf::FatalException'
  what():  This program was compiled against version 3.0.0 of the Protocol 
Buffer runtime library, which is not compatible with the installed version 
(3.6.1).  Contact the program author for an update.  If you compiled the 
program yourself, make sure that your headers are from the same version of 
Protocol Buffers as your link-time library.  (Version verification failed in 
"google/protobuf/any.pb.cc".)

Start 6: PolygonTest
3/8 Test #3: IntPointTest .***Exception: Child aborted  
0.03 sec
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program yourself, make sure that your 
headers are from the same version of Protocol Buffers as your link-time 
library.  (Version verification failed in "google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 
'google::protobuf::FatalException'
  what():  This program was compiled against version 3.0.0 of the Protocol 
Buffer runtime library, which is not compatible with the installed version 
(3.6.1).  Contact the program author for an update.  If you compiled the 
program yourself, make sure that your headers are from the same version of 
Protocol Buffers as your link-time library.  (Version verification failed in 
"google/protobuf/any.pb.cc".)

Start 7: StringTest
4/8 Test #4: LinearAlg2DTest ..***Exception: Child aborted  
0.02 sec
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program yourself, make sure that your 
headers are from the same version of Protocol Buffers as your link-time 
library.  (Version verification failed in "google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 
'google::protobuf::FatalException'
  what():  This program was compiled against version 3.0.0 of the Protocol 
Buffer runtime library, which is not compatible with the installed version 
(3.6.1).  Contact the program author for an update.  If you compiled the 
program yourself, make sure that your headers are from the same version of 
Protocol Buffers as your link-time library.  (Version verification failed in 
"google/protobuf/any.pb.cc".)

Start 8: UnionFindTest
5/8 Test #6: PolygonTest ..***Exception: Child aborted  
0.01 sec
[libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was 
compiled against version 3.0.0 of the Protocol Buffer runtime library, which is 
not compatible with the installed version (3.6.1).  Contact the program author 
for an update.  If you compiled the program