/usr/share/applications weird error on koji

Nikos Roussos nikos at autoverse.net
Wed Mar 21 10:51:42 UTC 2012


On Mon, Mar 19, 2012 at 4:44 PM, Alec Leamas <leamas.alec at gmail.com> wrote:

>  On 03/19/2012 02:32 PM, Nikos Roussos wrote:
>
> On Mon, Mar 19, 2012 at 2:09 PM, Alec Leamas <leamas.alec at gmail.com>wrote:
>
>>   On 03/19/2012 12:50 PM, Nikos Roussos wrote:
>>
>> Hi,
>>
>> I'm trying to build a package. It's an update on SparkleShare<https://admin.fedoraproject.org/updates/search/sparkleshare>package. I build it locally with mock and everything seems ok. Package is
>> built successfully. But when I try to build it on koji I get an error and
>> build fails on both f16 f17 targets:
>> "The databases in [/usr/share/applications] could not be updated."
>> which I think has something to do with the desktop-file-validate on
>> %install phase
>>
>> See the relevant koji task and build log for more:
>> http://koji.fedoraproject.org/koji/taskinfo?taskID=3908835
>>
>> Any help appreciated
>>
>> --
>> Nikos Roussos <http://autoverse.net>
>>
>>
>>
>>   From the log, it looks  like it fails in 'install-data-hook'. If so,
>> the culprit might be some Makefile.am. Have upstream updated a Makefile.am
>> to include 'desktop-file-install', failing when not making a "real" install
>> int /usr?
>>
>> If this is right, you should be able to verify that the %install hasn't
>> really begun when the error is triggered. If unsure, put some simple 'echo'
>> statement in top of %install to verify that it hasn't been started.
>>
>> If this doesn't help, scanning the generated Makefiles for
>> 'desktop-file-install' and/or  '/usr/share/applications' might give  a clue
>>
>
> Actually there is an:
>
> install-data-hook:
>         update-desktop-database $(datadir)/applications
>
> which seems to be the exact point that installation fails
>
>
>
>  You must patch that, it will try to update /usr/share/applications when
> building the rpm which of course isn't acceptable.
>
> For Fedora, you could just remove the target and run automake; autoconf;
> ./configure, given that you run update-desktop-database as part of %install.
>
> However, this should really be resolved together with upstream. If they
> want to keep the functionality, one could possibly:
>
> - Move it from install-data-hook to a separate target such as
> 'install-desktop' and let users run this as part of installation into
> system dirs.
> - Only run update-desktop-database if $(datadir)/applications is writeable:
>
> Personally, I would prefer the first one. To  mess with
> /usr/share/applications when DESTDIR is set is not really the way 'make
> install' is supposed to work. And updating
> $(DESTDIR)/$(datadir)/applications  just doesn't make sense.
>
> But I'm just a newbie, maybe someone else has a better piece of advice
> here?
>

I wrote a small patch to comment out this line and it worked just fine.
I'll file a bug upstream.

Thanks for the help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/devel/attachments/20120321/e815698a/attachment.html>


More information about the devel mailing list