Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 381033 - app-emulation/wine should apply USE flag for prelink dependency
Summary: app-emulation/wine should apply USE flag for prelink dependency
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Wine Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-29 11:14 UTC by Andrew Savchenko
Modified: 2013-01-16 15:03 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2011-08-29 11:14:53 UTC
Hello,

after recent change (bug 379801) wine depends on prelink during build. This dependency is unconditional on non-hardened systems. However, wine can build and work without dependency on prelink, that's why this dep must be optional and controlled via an USE flag. Currently USE="hardened" may be used to achieve this, but this method is a confusing and improper use of hardened flag.

I'm so concerned about this because I do not want prelink to be used on the system-wide scale on my setup. Portage documentation about prelink is confusing and it looks like automagick is applied when prelink binary is detected: http://www.gentoo.org/doc/en/prelink-howto.xml says that "Portage will automatically support prelink if it can find the prelink binary." But six years old bug 84109 says "Portage will not automatically prelink binaries". I don't know whom to trust.

This is an irony: portage devs fight hardly against automagick in the package build systems, but the same automagick is applied by portage itself in the case of prelink. If this guess is true, then the proper fix will be to add an appropriate FEATURES flag to allow people to instruct portage to ignore prelink if they don't want to use it system-wide. Perhaps, developers thought that if prelink is installed this unconditionally implies it must be used system-wide, but wine example shows that prelink may be used for very specific needs for a single application only.
Comment 1 SpanKY gentoo-dev 2011-09-15 03:20:09 UTC
i see no wording in the upstream documentation that indicates this should be optional for people

http://wiki.winehq.org/Prelink
Comment 2 Andrew Savchenko gentoo-dev 2011-09-16 07:31:59 UTC
(In reply to comment #1)
> i see no wording in the upstream documentation that indicates this should be
> optional for people
> 
> http://wiki.winehq.org/Prelink

You failed to read your own link provided. "Prelink might be helpful when building WINE."
"might be helpful" != "must be used". This is entirely optional, and optionality is proved by years of experience.

Also due to gentoo development policy, any potentially optional dependency should be controlled via use flag, so your objection violates this policy as well.
Comment 3 SpanKY gentoo-dev 2011-09-17 03:14:11 UTC
if you're going to be abrasive, then go somewhere else.

you skipped right over the part that states:
so that Windows programs that rely on the address being the same across different programs work correctly
Comment 4 SpanKY gentoo-dev 2011-09-17 03:16:03 UTC
also, "build" is not the same thing as "run".  wine *builds* fine without prelink, but prelink is used *after* it is compiled to fix the addresses in the compiled ELFs.
Comment 5 Andrew Savchenko gentoo-dev 2011-09-17 09:36:45 UTC
(In reply to comment #3)
> so that Windows programs that rely on the address being the same across
> different programs work correctly

These programs are buggy by definition and prelink is just a workaround for them.

During 6 years there was no even a single report about a problem regarding wine with missing prelink. You may consider this feature as optional support for buggy "windows programs that rely on the address being the same across different programs work correctly".
Comment 6 SpanKY gentoo-dev 2011-09-18 01:54:55 UTC
people dont report "i need prelink".  they have no idea that they do.  instead, they report "xxx program doesnt work" or "xxx crashes".  so there's no way you can draw the conclusion that no one has needed it because they haven't explicitly asked for it.

without any real details as to how often this manifests itself, there isn't really a way to move forward.  i could add IUSE=+prelink so that people get it by default but some could opt out who really want to.
Comment 7 Andrew Savchenko gentoo-dev 2011-09-18 11:55:27 UTC
(In reply to comment #6)
> i could add IUSE=+prelink so that people get it
> by default but some could opt out who really want to.

This is a fair solution from my pow.
Comment 8 Opportunist 2011-09-18 15:39:09 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > i could add IUSE=+prelink so that people get it
> > by default but some could opt out who really want to.
> 
> This is a fair solution from my pow.

I totally agree.
Comment 9 i.Dark_Templar 2011-10-22 17:57:44 UTC
Why this bug is closed as "won't fix"? Is it THAT hard to make IUSE="+prelink"?
Comment 10 Andrew Savchenko gentoo-dev 2013-01-16 15:03:42 UTC
Apparently this bug is fixed in wine since 26 Dec 2012:

26 Dec 2012; Mike Frysinger <vapier@gentoo.org> metadata.xml,
  wine-1.2.3.ebuild, wine-1.3.28.ebuild, wine-1.4.1.ebuild, wine-1.4.ebuild,
  wine-1.5.0.ebuild, wine-1.5.1.ebuild, wine-1.5.10-r1.ebuild,
  wine-1.5.11-r1.ebuild, wine-1.5.12-r1.ebuild, wine-1.5.13-r1.ebuild,
  wine-1.5.14-r1.ebuild, wine-1.5.15-r2.ebuild, wine-1.5.16-r1.ebuild,
  wine-1.5.17.ebuild, wine-1.5.18.ebuild, wine-1.5.19.ebuild, wine-1.5.2.ebuild,
  wine-1.5.20.ebuild, wine-1.5.3.ebuild, wine-1.5.4.ebuild, wine-1.5.5.ebuild,
  wine-1.5.6.ebuild, wine-1.5.7.ebuild, wine-1.5.8.ebuild, wine-1.5.9.ebuild,
  wine-9999.ebuild:
  Change USE=hardened to USE=prelink #381033.