New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 620830 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

mesa: 9999 ebuild fails with missing git_sha1.h

Project Member Reported by h...@chromium.org, Jun 16 2016

Issue description

Only happens with cros_workon start mesa.

Seems to have started around May 30-31st with Emil's changes of git_sha1.h rules in Makefile.am

>>> Source configured.
>>> Compiling source in /build/cyan-cheets/tmp/portage/media-libs/mesa-9999/work/Mesa-9999 ...
make -j40 
Making all in src
make[1]: Entering directory '/build/cyan-cheets/tmp/portage/media-libs/mesa-9999/work/Mesa-9999/src'
cp: cannot stat 'git_sha1.h': No such file or directory
Makefile:971: recipe for target 'git_sha1.h.tmp' failed
make[1]: *** [git_sha1.h.tmp] Error 1
make[1]: Leaving directory '/build/cyan-cheets/tmp/portage/media-libs/mesa-9999/work/Mesa-9999/src'
Makefile:635: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

 

Comment 1 by h...@chromium.org, Jun 16 2016

Bisect shows this has started at commit 3689ef32afdafbb030069e560aac0e563fc29048
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Mon May 30 12:32:05 2016 +0100

    automake: rework the git_sha1.h rule, include in tarball
    
    As we'll need the file in the release tarball, rework the rule so that
    the file is regenerated _only_ if we're in a git repository.
    
    With this in place we can build vulkan (anv) from a release tarball.
    
    Cc: Jason Ekstrand <jason.ekstrand@intel.com>
    Cc: Kristian Høgsberg Kristensen <krh@bitplanet.net>
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>


Comment 2 by h...@chromium.org, Jun 16 2016

The new automake git_sha1.h rule states that it would only regenerate git_sha1.h if we're in a git repository.

For the 9999 ebuild, I'm not building from a release tarball, but the workflow first copies the source tree to a tmp directory (without the .git directory), so there's no git_sha1.h file, and the file is not generated either.

Comment 3 by h...@chromium.org, Jun 16 2016

Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/85abce92ee6e58cd539cd8938fadeb2981e1fba9

commit 85abce92ee6e58cd539cd8938fadeb2981e1fba9
Author: Haixia Shi <hshi@chromium.org>
Date: Thu Jun 16 20:53:06 2016

mesa: add a step to generate git_sha1.h for the 9999 ebuild

This is to fix the "missing git_sha1.h" error for 9999 ebuild.

Starting from commit 3689ef32afdafbb030069e560aac0e563fc29048, the
src/Makefile.am will only regenerate git_sha1.h when using a proper
git checkout. Otherwise it is assumed that the header git_sha1.h is
included in a tarball. Unfortunately the 9999 ebuild is neither.

BUG= chromium:620830 
TEST=cros_workon start mesa && emerge-cyan-cheets mesa

Change-Id: I891416bd74395e1943c01ed6cb9b51f67a7765a2
Reviewed-on: https://chromium-review.googlesource.com/353340
Trybot-Ready: Haixia Shi <hshi@chromium.org>
Tested-by: Haixia Shi <hshi@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Haixia Shi <hshi@chromium.org>

[modify] https://crrev.com/85abce92ee6e58cd539cd8938fadeb2981e1fba9/media-libs/mesa/mesa-9999.ebuild

Comment 5 by h...@chromium.org, Jun 16 2016

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3ad21b9027b3e788050c14acd1248a5573ed16d9

commit 3ad21b9027b3e788050c14acd1248a5573ed16d9
Author: Haixia Shi <hshi@chromium.org>
Date: Fri Jun 17 19:47:59 2016

mesa: correct the git_sha1.h step for the 9999 ebuild

It turns out that the cwd of src_prepare() is not a git checkout, so the
'git log' command won't work, and it isn't actually possible to
determine the git hash. Instead we can just produce a dummy git_sha1.h
header file to make the build work.

The 9999 ebuild is for dev testing only, and as such we really do not
the accurate git hash.

BUG= chromium:620830 
TEST=emerge-cyan-cheets mesa and check the portage work directory

Change-Id: I3456a18f2cb0fdddb292dcbb4d0159ac2da0c0f8
Reviewed-on: https://chromium-review.googlesource.com/353720
Commit-Ready: Haixia Shi <hshi@chromium.org>
Tested-by: Haixia Shi <hshi@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>

[modify] https://crrev.com/3ad21b9027b3e788050c14acd1248a5573ed16d9/media-libs/mesa/mesa-9999.ebuild

Status: Verified (was: Fixed)
Bulk verified

Sign in to add a comment