Hi Toshio,
thanks for you comments!
On 05/04/2011 03:36 AM, Toshio Kuratomi wrote:
On Mon, May 02, 2011 at 10:57:10PM +0200, Christian Krause wrote:
> - FEScO
> For the final approval.
>
Note that generally changes to the Packaging Guidelines do not go to FESCo.
If the FPC does not agree with your change to the Guidelines, then you can
escalate it to FESCo to see if they'll overrule the FPC.
Ok - I thought that this could be treated as some kind of feature that
needed FESCo approval... But if FPC would be sufficient that's ok.
I think that the basic thing that would need to be proved for either
the FPC
or FESCo is whether we should stop considering the libraries to be
arch-specific. If the reasoning from upstream mono remains the same that
they belong in an arch-specific directory then I doubt that FPC would
consider moving them out of %{_libdir} and I doubt that FESCo would overrule
FPC in that case.
Just to avoid any misunderstanding: the suggestion is to move the mono
byte code from %{_libdir} to /usr/lib. So the change would be only for
x86_64.
At least most other distributions like OpenSUSE or Debian treat the mono
bytecode (the libraries (*.dll) as well as the executables (*.exe)) as
noarch, but place them in /usr/lib anyway:
https://build.opensuse.org/package/binary?arch=x86_64&filename=mono-a...
If there's new reasoning that says that the libraries are
arch independent, then the FPC's next question would probably be why they
don't belong in %{_datadir} (where Debian originally wanted to place them
I've just checked this: Debian does not place the files in %{_datadir}.
Just recently it looks like that they have moved the gac to a more
generic directory /usr/lib/cli and before it was in /usr/lib/mono/gac -
even in their 64bit packages:
http://packages.debian.org/sid/amd64/libgtk2.0-cil/filelist
OpenSuse:
https://build.opensuse.org/package/binary?arch=x86_64&filename=gtk-sh...
So far it looks for me, that Fedora is the only distribution which uses
%{_libdir} and causes these huge amount of strange patches. Since all
upstream developers of mono-based packages assume the placement in
/usr/lib the paths (e.g. for extensions etc.) are even hard-coded
sometimes or put together at run-time. Finding all of these places is a
tedious and self-defeating work which actually does not solve any
real-world problems but is only necessary because of our "self-made"
problem by diverging from the mono's standard paths.
before being convinced to treat them as arch specific). I don't
know how
stringent the FPC would be about requiring %{_datadir} should the libraries
be arch independent, though.
AFAIK the byte code is mostly compatible, but I have heard that the mono
developers don't guarantee it.
Nevertheless, I think that's a judgement call here:
- on one side Fedora wants to be close to the FHS (arch-independent
files should go to /usr/share, package should be noarch then, etc.)
- on the other side Fedora encourages the packagers to stay close to
upstream and provide all changes as patches to upstream
- in this specific case, Fedora's way is different to
a) other distributions
b) upstream
- as a result, no patches can be upstreamed, upstream does not care
about our problems, and the packagers have to do a lot of unnecessary work
Given all the pros and cons I'm quite convinced that Fedora should
change the way how mono is packaged.
Toshio, could I convince you that the proposed way would be the "the
right way to go" for Fedora? ;-) If not, what's missing?
Best regards,
Christian