Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-05-20 Thread Jens Reyer
On 20.05.2018 02:20, Javier Serrano Polo wrote:
> El ds 19 de 05 de 2018 a les 23:39 +0200, Jens Reyer va escriure:
>> I definitely want the well-established system command
>> "update-alternatives" to be used.
> 
> What are the requirements?
> "update-alternatives --config wine" must work if wine or wine-
> development are installed. Only this one?

This one definitely yes.  And the state of either solution must be in
sync with the other (so if I have e.g. "wine" installed, but use your
solution, the states must match. And vice versa.)

I can't give you a complete list a priori, that's not possible.  It
depends on the way you choose to implement it.  Please don't see this as
an excuse I give now to weasel out later on, I'm really interested in
getting this issue solved.  Please assume good faith.

We have to keep in mind that libwine would be a public library then, so
symbols need to be handled accordingly then.  It's great to see that
lmms works with it for 10 years now, but this is not sufficient to
"just" put libwine on a public path (again).  Instead we have to look
into correct symbol handling (and I never did that before).

The solution must be maintainable basically forever to keep it in the
packages.  Other team members have to be fine with it, too.

I'd also check with upstream if they are fine with libwine... being on
this path, but I guess they are.

Greets
jre



Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-05-19 Thread Javier Serrano Polo
El ds 19 de 05 de 2018 a les 23:39 +0200, Jens Reyer va escriure:
> I definitely want the well-established system command
> "update-alternatives" to be used.

What are the requirements?
"update-alternatives --config wine" must work if wine or wine-
development are installed. Only this one?

smime.p7s
Description: S/MIME cryptographic signature


Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-05-19 Thread Jens Reyer
Hi,

sorry I thought I had answered to this.

On 17.01.2018 17:56, Javier Serrano Polo wrote:
> X-Debbugs-CC: k...@codeweavers.com
> 
> El dc 17 de 01 de 2018 a les 15:48 +0100, Jens Reyer va escriure:
>> The second line is about the master, we always need it.  And I want the
>> master to be "wine", not "libwine.so.0" (e.g. master's name is used in
>> the user interfacing command "update-alternatives --config wine").
> 
> You want to configure with "update-alternatives --config wine", but I am
> asking to configure with "update-wine-alternatives --config" instead.
> The update-wine-alternatives script does not exist yet.
> 
[...]>> - Imo we should stay with pkg:wine(-development) providing the
>>   master /usr/bin/wine
> 
> Jens, you should first understand what I am proposing. Is it fine to
> configure with "update-wine-alternatives --config" and not have unneeded
> wine packages installed?

I definitely want the well-established system command
"update-alternatives" to be used.  Replacing this with a script
"update-wine-alternatives" is not acceptable.  If you can come up with a
solution which works in your sense additionally to this, we can try it.

Greets
jre



Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-01-17 Thread Javier Serrano Polo
X-Debbugs-CC: k...@codeweavers.com

El dc 17 de 01 de 2018 a les 15:48 +0100, Jens Reyer va escriure:
> The second line is about the master, we always need it.  And I want the
> master to be "wine", not "libwine.so.0" (e.g. master's name is used in
> the user interfacing command "update-alternatives --config wine").

You want to configure with "update-alternatives --config wine", but I am
asking to configure with "update-wine-alternatives --config" instead.
The update-wine-alternatives script does not exist yet.

> https://www.winehq.org/pipermail/wine-devel/2016-October/114992.html
> "The reason for this is that libwine is not like other libraries where
> Debian's check may make sense.  It's not a general-purpose library.
> It's only really useful for Wine itself and for a program which wants to
> be an alternative Wine loader.  The client of libwine will want it to
> call exit() when needed."

When Ken made those statements, he obviously did not know about LMMS.
libwine is a general-purpose library to run software that uses Windows
API; this is the point of winegcc. libwine calls exit(), so what?
Although libwine could call wine_exit_handler() instead of exit().

> To sum up, these are the issues:
> - upstream considers libwine to not be a general-purpose library

First, this is only a statement from Ken, not documentation. Second, he
did not know about LMMS. Third, libwine is a Windows API provider.

> - I'm not sure how stable its api is

LMMS has been using Wine for more than ten years. API is stable enough.

> - Imo we should stay with pkg:wine(-development) providing the
>   master /usr/bin/wine

Jens, you should first understand what I am proposing. Is it fine to
configure with "update-wine-alternatives --config" and not have unneeded
wine packages installed?


smime.p7s
Description: S/MIME cryptographic signature


Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-01-17 Thread Jens Reyer
On 01/10/2018 09:07 PM, Javier Serrano Polo wrote:
> El dc 10 de 01 de 2018 a les 19:51 +0100, Jens Reyer va escriure:
>> I'm not sure if you suggest to make libwine (instead of wine) the
>> alternatives-master for all Wine packages - I think that wouldn't work,
>> because each arch has its own libwine, so we'd have multiple master.
>> Feel free to prove me wrong.
> 
> Then make libwine depend on a wine-alternatives package that ships the
> update-wine-alternatives script.

No, then we'd have no master at all (or did I miss something?).  The
"update-wine-alternatives script" is in 3 files
(debian/wineVERSION.{postinst,prerm,triggers}).  It's core is:

  update-alternatives --quiet \
--install /usr/bin/wine wine /usr/bin/wineDEBSUFFIX $PRIORITY \
  $slaves

The second line is about the master, we always need it.  And I want the
master to be "wine", not "libwine.so.0" (e.g. master's name is used in
the user interfacing command "update-alternatives --config wine").  So I
still see no alternative to using wine(-development) for the
alternatives scripts, and using /usr/bin/wine as master.



Now, unfortunately there's also another thing I missed here: upstream
does not consider libwine to be a general-purpose library. We discussed
that because they call exit in this shared library:

https://www.winehq.org/pipermail/wine-devel/2016-October/114992.html
"The reason for this is that libwine is not like other libraries where
Debian's check may make sense.  It's not a general-purpose library.
It's only really useful for Wine itself and for a program which wants to
be an alternative Wine loader.  The client of libwine will want it to
call exit() when needed."

I should have thought about this earlier, but imo this shows that making
libwine public is wrong.
If lmms-vst-server handles the use of exit in libwine well, I think it's
ok to use rpath to link to the private lib.


To sum up, these are the issues:
- upstream considers libwine to not be a general-purpose library
- I'm not sure how stable its api is
- Imo we should stay with pkg:wine(-development) providing the
  master /usr/bin/wine


Any other opinion? Close this bug?


Greets
jre



Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-01-10 Thread Javier Serrano Polo
> There are no reverse dependencies of libwine, so it is not clear to me
> how this would actually be helpful.

Sorry, I missed your message. lmms-vst-server depends on wine, but I
cannot help with lmms-related packaging right now.

El dc 10 de 01 de 2018 a les 19:51 +0100, Jens Reyer va escriure:
> I'm not sure if you suggest to make libwine (instead of wine) the
> alternatives-master for all Wine packages - I think that wouldn't work,
> because each arch has its own libwine, so we'd have multiple master.
> Feel free to prove me wrong.

Then make libwine depend on a wine-alternatives package that ships the
update-wine-alternatives script.


smime.p7s
Description: S/MIME cryptographic signature


Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2018-01-10 Thread Jens Reyer
Hi Javier and Mike,


On 06/17/2017 11:16 PM, Michael Gilbert wrote:
> control: tag -1 moreinfo
> 
>> Please add a libwine.so.1 alternative to libwine packages, and
>> libwine.so to libwine-dev ones.
> 
> There are no reverse dependencies of libwine, so it is not clear to me
> how this would actually be helpful.  Do you have a specific problem
> where it would be, if so what is it?

AFAIK Javier needs it for lmms.


On 01/24/2017 11:15 PM, Javier Serrano Polo wrote:
> The alternatives should not be slaves in the wine package. I suggest to
> move the slave alternatives from wine package to their respective
> packages (wine32-tools and such), and to depend on an
> update-wine-alternatives script (in libwine) that runs
> update-alternatives for the installed packages.

I'm not sure if you suggest to make libwine (instead of wine) the
alternatives-master for all Wine packages - I think that wouldn't work,
because each arch has its own libwine, so we'd have multiple master.
Feel free to prove me wrong.

Alternatively you might ask for the libwine-alternatives to be separate
from the other Wine-alternatives - I don't feel comfortable about having
main Wine and libwine potentially pointing to different Wine versions.

So why not make libwine a slave of wine and let it recommend wine, like
I did for the other packages?  AFAIK "recommends" are not installed for
build-dependencies, so you'd need to explicitly build-depend on wine in
lmms - but imo that's acceptable.  Of course you would have wine, and
wine32 or wine64 (or both if e.g. i386 is available on the build-daemon)
installed unnecessarily then - but their installed size is very small
compared to libwine (and its dependencies).  The only real drawback I
can think of is having potentially unwanted Wine binaries on PATH.
Still, that's what I'd suggest.

Having said all this, I have no experience with packaging system
libraries.  Can we just stay with soversion .0, or do we have to check
if the Wine API changes (sounds strange since Wine is supposed to
provide a stable (!?) Windows API)?  What do others think?

Greets
jre



Bug#852494: [pkg-wine-party] Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2017-06-17 Thread Michael Gilbert
control: tag -1 moreinfo

> Please add a libwine.so.1 alternative to libwine packages, and
> libwine.so to libwine-dev ones.

There are no reverse dependencies of libwine, so it is not clear to me
how this would actually be helpful.  Do you have a specific problem
where it would be, if so what is it?

Best wishes,
Mike



Bug#852494: wine: Add libwine.so and libwine.so.1 alternatives

2017-01-24 Thread Javier Serrano Polo
Source: wine
Version: 1.8.6-3
Severity: wishlist

Please add a libwine.so.1 alternative to libwine packages, and
libwine.so to libwine-dev ones. These alternatives should be placed
under /usr/lib/MULTIARCH so that applications depending on libwine avoid
the use of RUNPATH and the binary-or-shlib-defines-rpath lintian error.

The alternatives should not be slaves in the wine package. I suggest to
move the slave alternatives from wine package to their respective
packages (wine32-tools and such), and to depend on an
update-wine-alternatives script (in libwine) that runs
update-alternatives for the installed packages.


smime.p7s
Description: S/MIME cryptographic signature