Bug#763058: nmu: doxygen_1.8.7-3

2014-09-29 Thread Julien Cristau
On Mon, Sep 29, 2014 at 02:26:11 +0100, Steven Chamberlain wrote:

 So AIUI Sylvestre needs to remove that symlink in a new upload, but
 all reverse-deps must be NMUd to use the new, versioned library name
 e.g. libclang-3.5.so.1.  Except I think the package name needs to be
 changed in order to do that, so perhaps a soname bump to
 libclang-3.5.so.2 provided by libclang2-3.5?
 
I don't think the package name and SONAME changes are necessary;
libclang-3.5.so.1 is unambiguous, and libclang1-3.5 is not in wheezy.

But that's still assuming the ABIs are different, so I'll wait for
confirmation on that before doing anything else.

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#763058: nmu: doxygen_1.8.7-3

2014-09-29 Thread Sylvestre Ledru
On 29/09/2014 08:36, Julien Cristau wrote:
 On Mon, Sep 29, 2014 at 02:26:11 +0100, Steven Chamberlain wrote:

 So AIUI Sylvestre needs to remove that symlink in a new upload, but
 all reverse-deps must be NMUd to use the new, versioned library name
 e.g. libclang-3.5.so.1.  
Yes, that is why I requested the binNMU.
 Except I think the package name needs to be
 changed in order to do that, so perhaps a soname bump to
 libclang-3.5.so.2 provided by libclang2-3.5?

 I don't think the package name and SONAME changes are necessary;
 libclang-3.5.so.1 is unambiguous, and libclang1-3.5 is not in wheezy.

 But that's still assuming the ABIs are different, so I'll wait for
 confirmation on that before doing anything else.

Yes, the ABI are different from a version to the other and I am not
expecting that to change.
(that is why I was hoping that libclang-3.5.so as soname was enough)



Sylvestre


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-29 Thread Steven Chamberlain
On 08:36, Julien Cristau wrote:
 On Mon, Sep 29, 2014 at 02:26:11 +0100, Steven Chamberlain wrote:
  So AIUI Sylvestre needs to remove that symlink in a new upload, but
  all reverse-deps must be NMUd to use the new, versioned library name
  e.g. libclang-3.5.so.1.  Except I think the package name needs to be
  changed in order to do that, so perhaps a soname bump to
  libclang-3.5.so.2 provided by libclang2-3.5?
  
 I don't think the package name and SONAME changes are necessary;
 libclang-3.5.so.1 is unambiguous, and libclang1-3.5 is not in wheezy.

Doxygen in sid/jessie has a dependency on libclang1-3.5 but still looks
for libclang.so.1, which was once shipped by that package.

That's why I thought the package name must change, to make sure
all incidents of this are cleaned up, and any package with dependency
on libclang1-3.5 (possibly broken) transitioned to something like
libclang2-3.5 (only shipping a libclang-3.5.so.2 and not libclang.so.1).

By the way, the doxygen issue was temporarily fixed by the symlink and
brltty was able to build;  if there is going to be a new upload to try
to address this it could perhaps go to experimental first, if that makes
it any easier to review and check it?

Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-29 Thread Julien Cristau
On Mon, Sep 29, 2014 at 13:37:19 +0100, Steven Chamberlain wrote:

 On 08:36, Julien Cristau wrote:
  On Mon, Sep 29, 2014 at 02:26:11 +0100, Steven Chamberlain wrote:
   So AIUI Sylvestre needs to remove that symlink in a new upload, but
   all reverse-deps must be NMUd to use the new, versioned library name
   e.g. libclang-3.5.so.1.  Except I think the package name needs to be
   changed in order to do that, so perhaps a soname bump to
   libclang-3.5.so.2 provided by libclang2-3.5?
   
  I don't think the package name and SONAME changes are necessary;
  libclang-3.5.so.1 is unambiguous, and libclang1-3.5 is not in wheezy.
 
 Doxygen in sid/jessie has a dependency on libclang1-3.5 but still looks
 for libclang.so.1, which was once shipped by that package.
 
 That's why I thought the package name must change, to make sure
 all incidents of this are cleaned up, and any package with dependency
 on libclang1-3.5 (possibly broken) transitioned to something like
 libclang2-3.5 (only shipping a libclang-3.5.so.2 and not libclang.so.1).
 
The breakage already happened, changing package names yet again is not
going to make in un-happen.

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#763058: nmu: doxygen_1.8.7-3

2014-09-28 Thread Sylvestre Ledru
On 27/09/2014 18:54, Andreas Barth wrote:
 * Sylvestre Ledru (sylves...@debian.org) [140927 16:51]:
 nmu doxygen_1.8.7-3 . ALL . -m binMNU because of the libclang change of 
 soname

 I updated the soname as part of the coordination to switch to llvm 3.5.
 https://release.debian.org/transitions/html/llvm-defaults-3.html
 Did you also switch the binary package name? For any soname change you
 need to have the package name to follow.

 See e.g. https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
 | Every time the shared library ABI changes in a way that may break
 | binaries linked against older versions of the shared library, the
 | SONAME of the library and the corresponding name for the binary
 | package containing the runtime shared library should change.

 Can you please do that so that we could schedule the binNMUs after
 this is done?

The package name is libclang1-3.5
and the soname is libclang-3.5.so.1

Initially, I uploaded with libclang-3.5.so as soname since the ABI remains
the same over a version of libclang but dpkg-shlibdeps complained about
the missing .1 even
if it seems valid in the policy
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
The soname may instead be of the form name-major-version.so, such as
libdb-5.1.so, in which case the name would be libdb and the version
would be 5.1. 

What would you want in term of package naming ? I don't know what would
work best here
libclang-3.5.1 is kind of a bad name.

If possible, I would prefer to keep the following naming and fix the
doxygen breakage by the
binNMU.

Sylvestre


Bug#763058: nmu: doxygen_1.8.7-3

2014-09-28 Thread Andreas Barth
* Sylvestre Ledru (sylves...@debian.org) [140928 14:15]:
On 27/09/2014 18:54, Andreas Barth wrote:

 See e.g. [3]https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
 | Every time the shared library ABI changes in a way that may break
 | binaries linked against older versions of the shared library, the
 | SONAME of the library and the corresponding name for the binary
 | package containing the runtime shared library should change.
 
 Can you please do that so that we could schedule the binNMUs after
 this is done?


The package name is libclang1-3.5
and the soname is libclang-3.5.so.1
Initially, I uploaded with libclang-3.5.so as soname since the ABI
remains
the same over a version of libclang but dpkg-shlibdeps complained about
the missing .1 even
if it seems valid in the policy
[4]https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
The soname may instead be of the form name-major-version.so, such as
libdb-5.1.so, in which case the name would be libdb and the version
would be 5.1. 
What would you want in term of package naming ? I don't know what would
work best here
libclang-3.5.1 is kind of a bad name.

Basically there is no really nice solution there because the
packagename libclang1-3.5 was already used for the soname libclang.so.1.

The two major options are:

1. Change back the soname (which is of course wrong otherwise)
2. Change the package name to something like libclang1-3.5a.

I also have an idea for an ugly hack but I need to think a bit more
about it. From package POV it might be the niciest, but I'm not sure
if it works (which is a precondition for everything). I'll update this
mail tonight.


Andi


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-28 Thread Andreas Barth
* Andreas Barth (a...@ayous.org) [140928 14:32]:
 I also have an idea for an ugly hack but I need to think a bit more
 about it. From package POV it might be the niciest, but I'm not sure
 if it works (which is a precondition for everything). I'll update this
 mail tonight.

What works in practice, and seems to be ok-ish from a theoretical POV
is to create a symlink from libclang-3.5.so.1 to
/usr/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/libclang.so.1
during build time (as part of the deb file). This allows doxygen to
work again.

(Also, all previous packages were broken according to policy because
that symlink was created only at configure time by ldconfig.  However
the symlink needs to be part of the package so that the lib is
available before configure. Just a notice, there doesn't seem to be a
fallout from that, but should be kept in mind for future packages.)


Andi


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-28 Thread Julien Cristau
On Sun, Sep 28, 2014 at 21:25:07 +0200, Andreas Barth wrote:

 * Andreas Barth (a...@ayous.org) [140928 14:32]:
  I also have an idea for an ugly hack but I need to think a bit more
  about it. From package POV it might be the niciest, but I'm not sure
  if it works (which is a precondition for everything). I'll update this
  mail tonight.
 
 What works in practice, and seems to be ok-ish from a theoretical POV
 is to create a symlink from libclang-3.5.so.1 to
 /usr/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/libclang.so.1
 during build time (as part of the deb file). This allows doxygen to
 work again.
 
That seems wrong.  If wheezy's libclang1 and jessie's libclang1-3.5
aren't binary-compatible, the latter shouldn't provide a libclang.so.1.
And if they are, then there shouldn't be two different package names.
I fear we're just adding hacks on top of hacks here, somebody please
clarify.

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#763058: nmu: doxygen_1.8.7-3

2014-09-28 Thread Steven Chamberlain
Hi,

[I'm trying to learn to understand this kind of thing, as well try to
elaborate on what Julien said, so please correct me if I'm wrong].

On 01:19, Julien Cristau wrote:
 On Sun, Sep 28, 2014 at 21:25:07 +0200, Andreas Barth wrote:
 
  * Andreas Barth (a...@ayous.org) [140928 14:32]:
  What works in practice, and seems to be ok-ish from a theoretical POV
  is to create a symlink from libclang-3.5.so.1 to
  /usr/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/libclang.so.1
  during build time (as part of the deb file). This allows doxygen to
  work again.
  
 That seems wrong.  If wheezy's libclang1 and jessie's libclang1-3.5
 aren't binary-compatible, the latter shouldn't provide a libclang.so.1.

Assuming they're not meant to be binary-compatible:

It looks like libclang.so.1 has been provided by different versions of
the LLVM toolchain since wheezy, and that was wrong.

I don't think the LLVM 'default version' transition itself caused this,
but merely exposed an existing problem, one that can't be reverted.
Already some packages were built with libclang-3.4-dev (e.g. mesa,
vim-youcompleteme) or libclang-3.5-dev (e.g. doxygen).

So doxygen for example expects libclang.so.1 to be provided by
libclang1-3.5.  When that file was (rightly) removed from libclang1-3.5
it was left broken.  Restoring a symlink from libclang.so.1 may fix it
temporarily but is not a correct thing to do;  some other package (now,
or in the future) may expect libclang.so.1 to come from a different LLVM
version and may have been subtly broken for some time already.

So AIUI Sylvestre needs to remove that symlink in a new upload, but
all reverse-deps must be NMUd to use the new, versioned library name
e.g. libclang-3.5.so.1.  Except I think the package name needs to be
changed in order to do that, so perhaps a soname bump to
libclang-3.5.so.2 provided by libclang2-3.5?

The existing transition bug and tracker could possibly be repurposed
for this?
https://release.debian.org/transitions/html/llvm-defaults-3.html

Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-27 Thread Sylvestre Ledru
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: binnmu

nmu doxygen_1.8.7-3 . ALL . -m binMNU because of the libclang change of soname

I updated the soname as part of the coordination to switch to llvm 3.5.
https://release.debian.org/transitions/html/llvm-defaults-3.html

I updated the soname to fix the bug #759538 and make sure that libclang can be 
co instalable for its various version.

I should have coordinated better and I haven't noticed that doxygen was 
impacted  (my bad).

So, we just need a binNMU of doxygen and it should fix the problem.

The rest of impacted packages are leaf packages and I warned the maintainers.

Cheers  sorry again,
Sylvestre


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#763058: nmu: doxygen_1.8.7-3

2014-09-27 Thread Andreas Barth
* Sylvestre Ledru (sylves...@debian.org) [140927 16:51]:
 nmu doxygen_1.8.7-3 . ALL . -m binMNU because of the libclang change of 
 soname
 
 I updated the soname as part of the coordination to switch to llvm 3.5.
 https://release.debian.org/transitions/html/llvm-defaults-3.html

Did you also switch the binary package name? For any soname change you
need to have the package name to follow.

See e.g. https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
| Every time the shared library ABI changes in a way that may break
| binaries linked against older versions of the shared library, the
| SONAME of the library and the corresponding name for the binary
| package containing the runtime shared library should change.

Can you please do that so that we could schedule the binNMUs after
this is done?


Andi


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org