Summary: | =media-libs/alsa-lib-1.0.27: fix pkg-config file | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sven 'sleipnir' Rebhan <OdinsHorse> |
Component: | Current packages | Assignee: | Gentoo ALSA team [DISABLED] <alsa-bugs> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | CC: | embedded, flameeyes |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
pkg-config fix
Ebuild patch Reworked patch |
Description
Sven 'sleipnir' Rebhan
2009-03-30 19:48:44 UTC
Created attachment 186796 [details, diff]
pkg-config fix
Fix the .pc file by quoting the prefix assignment.
Created attachment 186798 [details, diff]
Ebuild patch
Apply the patch in the ebuild and call autoreconf to really get the patch applied.
a better question would be why does exec_prefix need to be expanded in the first place ? It doesn't need to be expanded. I guess somebody simply forgot to add the quotes. if it doesnt need to be expanded, then why not simply remove the line from configure rather than quoting it ? Because exec_prefix is used in the makefiles. With the quoting it is expanded there (in the makefiles), otherwise it is expanded in the config. We need the first behaviour because otherwise we get the expanded version in the .pc file. We can't remove the line in the patch because otherwise we get an empty exec_prefix leading to libdir expansions like ${exec_prefix}/lib -> /lib and this you definitively do not want! Btw other configure script have exactly the same line _with_ the quoting! i still dont get it. configure will automatically add $exec_prefix to the Makefile environment without any custom code: Makefile.in:exec_prefix = @exec_prefix@ Makefile:exec_prefix = ${prefix} so why does the configure script need to touch exec_prefix at all ? an easier fix would be to delete the line completely and let the common autoconf code do its standard work. ALSA upstream is not very good with autotools, I'll see if I can take care of that for them. Created attachment 186883 [details, diff]
Reworked patch
Ha! I managed to remove the line criticize by vapier. A very subtle change is required to not get ALSA_PLUGIN_DIR=NONE/lib.
SpanKY, Diego what is the status on this? Can you please push this upstream!? Diego said he was going to take care of it, so i havent bothered looking at anything since ... he's more than capable of taking it from here Update: The same patch is required for alsa-lib-1.0.20. (In reply to comment #12) > Update: The same patch is required for alsa-lib-1.0.20. Meh. Looks still the same in 1.0.27. i've re-scanned this bug and i'm not understanding the problem. pkg-config files (even when cross-compiled) are *supposed* to have exec_prefix set to /usr (most of the time). well, at least set to ${prefix} which in turn is /usr. to verify, cross-compiling alsa-utils works just fine for me. so please post some real details as to the problem you're seeing. (In reply to comment #14) > i've re-scanned this bug and i'm not understanding the problem. nice. i'm not alone then. that's why I didn't push the fix. Unfortunately I don't have the time anymore to work on gentoo, but IIRC the problem is that during 'eval dir="$libdir"' the libdir (which usually contains the non-evaluated variable ${prefix}) is resolved to "/usr" and thus the resulting pkg-config file containes "exec_prefix=/usr/lib" instead of "exec_prefix=${prefix}/lib". The patch ensures that "dir" contains the unresolved (unevaluated) string (${prefix} in this case) instead. Beware: All of the above is from the top of my head and might be completely wrong. ;-) |