| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make_desktop_entry() extracts the first component of the filename from
the Exec key in the desktop entry. This can however include arguments
which will end up in the filename. For example, www-client/links has
"Exec=links -g %u", resulting in links_-g_%u-links-2.desktop as the
name of the file.
The current extraction pattern originates from this CVS commit:
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?r1=1.271&r2=1.272
with the commit message "scrub exec filename in case someone does
something silly like pass the fullpath to a binary".
Before that commit, anything after a space in Exec would have been
removed. Restore that behaviour, and in addition use only the
executable's basename.
While at it, get rid of the sed call and handle everything in bash.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
| |
|
| |
|
|
|
|
|
|
|
| |
While increasing exit status for each failure may seem brilliant
at first, it serves no purpose and has an overflow risk. For example,
if domenu counted 256 failures, the exit status would be truncated to 0
(success).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The weird logic in domenu had an explicit separate clause
for unsuccessful return on non-existing files. This worked fine before
EAPI 4 since '|| die' was mandatory. However, since 'doins' started
dying on its own, developers have assumed the same for 'domenu'
and stopped checking the exit status. As a result, missing files
are now silently ignored.
Change the logic to explicitly die when the file does not exist.
To provide the best interoperability and avoid code duplication, just
let 'doins' die on its own.
|
|
|
|
|
| |
Sanitize insopts when calling doins, in order to avoid prior insopts
calls accidentally affecting do*/new* functions defined by the eclass.
|
|
Split off functions make_desktop_entry, make_session_desktop, domenu,
newmenu, doicon, and newicon from eutils.eclass into a dedicated
desktop.eclass. These functions are independent of the rest of eutils,
therefore moving them into their own eclass will help clarifying
eclass inheritance in ebuilds.
For backwards compatibility, eutils inherits the new eclass in
existing EAPIs.
|