Summary: | media-sound/mpd-0.16.5 works in MacOSX with patch | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Matthew Alexander LaChance <matt> |
Component: | Prefix Support | Assignee: | Christoph Mende (RETIRED) <angelos> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | hwoarang, prefix, sound |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | OS X | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
This patch produces a working ebuild
Better patch (uses +prefix, not -createuser) Unified patch; no prefix in IUSE Patch for mpd-0.16.8 Minimal patch for mpd-0.16.8 |
Description
Matthew Alexander LaChance
2012-05-21 17:00:56 UTC
Created attachment 312549 [details, diff]
This patch produces a working ebuild
This doesn't disable user creation on its own -- you have to actually add `-createuser` to your use flags for mpd. It does take the liberty of adding `~x64-macos`.
The preferred way is to just do: use prefix || enewuser Created attachment 312555 [details, diff]
Better patch (uses +prefix, not -createuser)
Thanks yeah that is a way better idea. Updated and tested!
Oh, you don't need to add prefix to IUSE. Also, please attach unified diffs for wase of reading (diff -u) Created attachment 312569 [details, diff]
Unified patch; no prefix in IUSE
Haha okay! Done and tested (still works). Can you tell this is my first time.
Alright. That looks good, except this: - virtual/pkgconfig" + dev-util/pkgconfig" that would be an unintended change from using an old revision (v1.9). Also, can you test the latest version? 0.16.8? We only should be caring about the latest version. Created attachment 312571 [details, diff]
Patch for mpd-0.16.8
Happy to. I was using 0.16.5 because it had amd64 instead of ~amd64, but 0.16.8 works just fine as well. Here's the working patch for that.
Good, thanks for testing the latest. My last question is what error did you actually hit with enewuser? We have special code for Gentoo Prefix in user.eclass that defines enewuser() <snip> # in Gentoo Prefix, we may be unprivileged, such that we can't handle this rootuid=$(python -c 'from portage.const import rootuid; print rootuid') if [[ ${rootuid} != 0 ]] ; then ewarn "'enewuser()' disabled in Gentoo Prefix with non-root user (by design)" ewarn " User: '$euser' not created" return 0 fi </snip> (In reply to comment #8) > My last question is what error did you actually hit with enewuser? We have > special code for Gentoo Prefix in user.eclass that defines enewuser() The problem is the dodir command -- it tries to create directories belonging to mpd:audio, which have not been created. This will work okay if I only add `use prefix ||` to the dodir line, but that felt like an incomplete modification to me, so I added it to each line involving user creation. The only other edit is the line where sed needs to run on ${ED} instead of on ${D}. Ah, ok. That is because dodir calls this: install -d ${DIROPTIONS} "${@/#/${ED}/}" and diropts just sets DIROPTIONS. Even though you think the modification was incomplete, the goal is minimal diffs which is why we short circuit enewuser - don't have to edit it in multiple ebuilds. Created attachment 312677 [details, diff]
Minimal patch for mpd-0.16.8
Ah, I understand. Here is a bare-minimum patch (tested and working).
Patch looks good. maintainers, please apply or let me know. thanks. + 22 May 2012; Christoph Mende <angelos@gentoo.org> mpd-0.16.8.ebuild: + Apply prefix patch for bug #416945, thanks to Matthew Alexander LaChance |