Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 917325 - media-sound/exaile-4.1.3[-nls]: Fails due to a missing file
Summary: media-sound/exaile-4.1.3[-nls]: Fails due to a missing file
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords: PMASKED
Depends on:
Blocks:
 
Reported: 2023-11-14 08:54 UTC by r7l
Modified: 2024-03-29 14:45 UTC (History)
3 users (show)

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


Attachments
exaile emerge build.log (build.log,13.52 KB, text/x-log)
2023-11-16 08:58 UTC, Christian Strahl
Details
emerge --info (emerge.info,8.00 KB, text/plain)
2023-11-16 09:02 UTC, Christian Strahl
Details
exaile emerge build.log (build.log,13.52 KB, text/plain)
2023-11-16 09:03 UTC, Christian Strahl
Details
emerge --info (emerge.info,21.02 KB, text/plain)
2023-11-16 11:14 UTC, r7l
Details
emerge build log (build.log,13.71 KB, text/x-log)
2023-11-16 11:15 UTC, r7l
Details

Note You need to log in before you can comment on or make changes to this bug.
Description r7l 2023-11-14 08:54:52 UTC
When building Exaile, it breaks with the following error:

/usr/bin/install: cannot stat 'build/exaile.desktop': No such file or directory
make: *** [Makefile:177: install-target] Error 1


Reproducible: Always
Comment 1 Eli Schwartz gentoo-dev 2023-11-16 04:27:40 UTC
Per the standard drill -- please include `emerge --info` output at minimum and ideally a complete build log.

You say it's always reproducible but I cannot reproduce it. :)
Comment 2 Christian Strahl 2023-11-16 08:58:45 UTC
Created attachment 874849 [details]
exaile emerge build.log
Comment 3 Christian Strahl 2023-11-16 09:02:12 UTC
Created attachment 874850 [details]
emerge --info
Comment 4 Christian Strahl 2023-11-16 09:03:34 UTC
Created attachment 874851 [details]
exaile emerge build.log
Comment 5 Christian Strahl 2023-11-16 09:13:26 UTC
I also have this problem and unfortunately it is always reproducible for me.
Comment 6 r7l 2023-11-16 11:14:15 UTC
Created attachment 874880 [details]
emerge --info

emerge --info
Comment 7 r7l 2023-11-16 11:15:26 UTC
Created attachment 874881 [details]
emerge build log

emerge build log
Comment 8 r7l 2023-11-16 11:29:33 UTC
Sorry for not adding that info right away. I had the impression this is basically a missing file in the ebuild since it is complaining about the missing .desktop file. When looking into it, there is no .desktop file anywhere in the Portage build directory after building. There is a exaile.desktop.in file in the work directory (in data directory).

Version 4.1.2 was working fine.
Comment 9 Eli Schwartz gentoo-dev 2023-11-16 12:40:36 UTC
Okay this is an interesting one, you're building without USE=nls so the src_compile is skipped entirely. That src_compile also doesn't run the "all" target anyways, so it basically does nothing even when USE=nls.

This means a whole, whole lotta things get skipped and not even installed at all, because this homebrew Makefile marks them as nonfatal commands that are allowed to fail:

- bash completion
- manpages

The desktop files were reworked in upstream commit https://github.com/exaile/exaile/commit/6d244f07e3efc0b67bc47edbe80173ace934f43e which is why it now stopped successfully `make install`ing.
Comment 10 Christian Strahl 2023-11-17 13:46:30 UTC
Ok, then, as far as I can see, the ebuild has to call `make all` when USE=nls is set and `make all_no_locale` when USE=nls is not set.

so instead of:

src_compile() {
	use nls && emake locale
}


it has to look like:

src_compile() {
	emake all$(use nls || echo _no_locale)
}

right?

(I have no gentoo machine here right now, so I couldn test it)
Comment 11 r7l 2023-11-21 12:11:37 UTC
I've tested the suggested change and it does work. Emerge builds and installs. But it still shows a couple errors on the way (during src_install). Not sure how critical it is. It doesn't fail and it even starts after it. The application works as far as i've tested it.

This is the error output:

fatal: not a git repository (or any parent up to mount point /var/tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
install -p -m 644 exaile.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile
install -p -m 644 xl/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl
/usr/bin/install: cannot stat 'xl/*.py[co]': No such file or directory
make: [Makefile:131: install-target] Error 1 (ignored)
install -p -m 644 xl/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl
install -p -m 644 xl/externals/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/externals
/usr/bin/install: cannot stat 'xl/externals/*.py[co]': No such file or directory
make: [Makefile:133: install-target] Error 1 (ignored)
install -p -m 644 xl/externals/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/externals
install -p -m 644 xl/metadata/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/metadata
/usr/bin/install: cannot stat 'xl/metadata/*.py[co]': No such file or directory
make: [Makefile:135: install-target] Error 1 (ignored)
install -p -m 644 xl/metadata/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/metadata
install -p -m 644 xl/player/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player
/usr/bin/install: cannot stat 'xl/player/*.py[co]': No such file or directory
make: [Makefile:137: install-target] Error 1 (ignored)
install -p -m 644 xl/player/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player
install -p -m 644 xl/player/gst/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player/gst
/usr/bin/install: cannot stat 'xl/player/gst/*.py[co]': No such file or directory
make: [Makefile:139: install-target] Error 1 (ignored)
install -p -m 644 xl/player/gst/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player/gst
install -p -m 644 xl/migrations/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations
/usr/bin/install: cannot stat 'xl/migrations/*.py[co]': No such file or directory
make: [Makefile:141: install-target] Error 1 (ignored)
install -p -m 644 xl/migrations/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations
install -p -m 644 xl/migrations/database/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/database/
/usr/bin/install: cannot stat 'xl/migrations/database/*.py[co]': No such file or directory
make: [Makefile:143: install-target] Error 1 (ignored)
install -p -m 644 xl/migrations/database/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/database/
install -p -m 644 xl/migrations/settings/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/settings/
/usr/bin/install: cannot stat 'xl/migrations/settings/*.py[co]': No such file or directory
make: [Makefile:145: install-target] Error 1 (ignored)
install -p -m 644 xl/migrations/settings/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/settings/
install -p -m 644 xl/trax/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/trax
/usr/bin/install: cannot stat 'xl/trax/*.py[co]': No such file or directory
make: [Makefile:147: install-target] Error 1 (ignored)
install -p -m 644 xl/trax/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/trax
install -p -m 644 xlgui/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui
/usr/bin/install: cannot stat 'xlgui/*.py[co]': No such file or directory
make: [Makefile:149: install-target] Error 1 (ignored)
install -p -m 644 xlgui/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui
install -p -m 644 xlgui/panel/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/panel
/usr/bin/install: cannot stat 'xlgui/panel/*.py[co]': No such file or directory
make: [Makefile:151: install-target] Error 1 (ignored)
install -p -m 644 xlgui/panel/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/panel
install -p -m 644 xlgui/preferences/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/preferences
/usr/bin/install: cannot stat 'xlgui/preferences/*.py[co]': No such file or directory
make: [Makefile:153: install-target] Error 1 (ignored)
install -p -m 644 xlgui/preferences/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/preferences
install -p -m 644 xlgui/widgets/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/widgets
/usr/bin/install: cannot stat 'xlgui/widgets/*.py[co]': No such file or directory
make: [Makefile:155: install-target] Error 1 (ignored)
Comment 12 Christian Strahl 2023-12-19 10:13:44 UTC
(In reply to Christian Strahl from comment #10)
> Ok, then, as far as I can see, the ebuild has to call `make all` when
> USE=nls is set and `make all_no_locale` when USE=nls is not set.
> 
> so instead of:
> 
> src_compile() {
> 	use nls && emake locale
> }
> 
> 
> it has to look like:
> 
> src_compile() {
> 	emake all$(use nls || echo _no_locale)
> }
> 
> right?
> 
> (I have no gentoo machine here right now, so I couldn test it)

With the removal of exaile 4.1.2 there is no working exaile version for USE="-nls".
Since my proposal is working, is there any reason to not make this change?
Comment 13 Eli Schwartz gentoo-dev 2023-12-31 06:01:06 UTC
I would suggest submitting a patch to implement that change.

As far as the remaining nonfatal errors go, it's just a bunch of .pyc files that don't exist, which is fine as python_optimize handles that anyway.
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-03-29 14:45:58 UTC
Package removed.