<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 03/19/2012 02:32 PM, Nikos Roussos wrote:
    <blockquote
cite="mid:CAGEwa42f273P7fA_KsSohO4UKHQa8aGVSBTOysOaWMS4s-qL1w@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Mon, Mar 19, 2012 at 2:09 PM, Alec
        Leamas <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:leamas.alec@gmail.com">leamas.alec@gmail.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000">
            <div>
              <div class="h5"> On 03/19/2012 12:50 PM, Nikos Roussos
                wrote:
                <blockquote type="cite">Hi,<br>
                  <br>
                  I'm trying to build a package. It's an update on <a
                    moz-do-not-send="true"
                    href="https://admin.fedoraproject.org/updates/search/sparkleshare"
                    target="_blank">SparkleShare</a> 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:<br>
                  "The databases in [/usr/share/applications] could not
                  be updated."<br>
                  which I think has something to do with the
                  desktop-file-validate on %install phase<br>
                  <br>
                  See the relevant koji task and build log for more:<br>
                  <a moz-do-not-send="true"
                    href="http://koji.fedoraproject.org/koji/taskinfo?taskID=3908835"
                    target="_blank">http://koji.fedoraproject.org/koji/taskinfo?taskID=3908835</a><br>
                  <br>
                  Any help appreciated<br clear="all">
                  <br>
                  -- <br>
                  <a moz-do-not-send="true" href="http://autoverse.net"
                    target="_blank">Nikos Roussos</a><br>
                  <br>
                  <br>
                  <fieldset></fieldset>
                  <br>
                </blockquote>
              </div>
            </div>
            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?<br>
            <br>
            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.<br>
            <br>
            If this doesn't help, scanning the generated Makefiles for
            'desktop-file-install' and/or  '/usr/share/applications'
            might give  a clue<br>
          </div>
        </blockquote>
        <div><br>
          Actually there is an:<br>
          <br>
          install-data-hook:<br>
                  update-desktop-database $(datadir)/applications <br>
          <br>
          which seems to be the exact point that installation fails<br>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    You must patch that, it will try to update /usr/share/applications
    when building the rpm which of course isn't acceptable. <br>
    <br>
    For Fedora, you could just remove the target and run automake;
    autoconf; ./configure, given that you run update-desktop-database as
    part of %install.<br>
    <br>
    However, this should really be resolved together with upstream. If
    they want to keep the functionality, one could possibly:<br>
    <br>
    - 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.<br>
    - Only run update-desktop-database if $(datadir)/applications is
    writeable:<br>
        <br>
    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. <br>
    <br>
    But I'm just a newbie, maybe someone else has a better piece of
    advice here?<br>
    <br>
    <br>
    <br>
  </body>
</html>