media-libs/arc-mesa-9999 does not build locally |
||||
Issue description
Looks like arc-mesa-9999 stopped building locally. I'm getting a number of errors like following:
/build/soraka/tmp/portage/media-libs/arc-mesa-9999/work/arc-mesa-9999/src/intel/vulkan/genX_state.c:34:10: fatal error: 'genxml/genX_pack.h' file not found
#include "genxml/genX_pack.h"
^
1 error generated.
Interestingly enough, src/intel/genxml/genX_pack.h is present in source tree, but it doesn't get copied to the work directory.
I've managed to track this down to src/intel/genxml/.gitignore having and entry for gen*_pack.h
https://cs.corp.google.com/chromeos_public/src/third_party/arc-mesa/src/intel/genxml/.gitignore
and cros-workon.eclass excluding files based on .gitignore:
https://cs.corp.google.com/chromeos_public/src/third_party/chromiumos-overlay/eclass/cros-workon.eclass?rcl=ea13ddceecf743dd3af966a1d13ca3e99d8d80bd&l=300
I'd say this is an upstream bug, because .gitignore should not include files checked in. Tried asking on #dri-devel, but no response yet.
I tried to fix it by adding "!genX_pack.h" to .gitignore after the offending pattern, but it doesn't work, because of issue 812979 .
,
Feb 16 2018
i agree it's an upstream bug and we should deploy some change to mesa directly while we independently figure out the cros-workon/rsync behavior
,
Feb 19 2018
,
Feb 19 2018
,
Feb 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b6f21b6b6e9164cfdd1d37fa9290592ee762a3d2 commit b6f21b6b6e9164cfdd1d37fa9290592ee762a3d2 Author: Tomasz Figa <tfiga@chromium.org> Date: Wed Feb 21 12:27:06 2018 cros-workon: Use git ls-files for excluding files from copying The --filter=":- <file>" switch of rsync, used currently, does not fully handle .gitignore syntax and would behave incorrectly at least in following two example cases: a) negative matches gen*_pack.h !genX_pack.h anything matching the first pattern, except anything matching the second one too, should be ignored, but rsync reads the exclamation mark as a part of file name pattern. b) files checked in, but present in .gitignore - even though it's questionable whether this is a correct repository setup, the affected files are there in the checkout and so should be also included in the source tree used for compilation. Use git ls-files to query the list of ignored files instead and use the output with --exclude-from rsync switch. This ensures that file exclusion works exactly the same way as in git. BUG= chromium:812979 BUG= chromium:812982 TEST=Create following directory stucture in src/third_party/arc-mesa x/y/ignored x/y/not_ignored y/ignored y/not_ignored y/.gitignore and put following contents in y/.gitignore ignored emerge-soraka arc-mesa copies all files except y/ignored. Change-Id: I459a066c41f8effb2f7d655f324ab7af645bcd2e Reviewed-on: https://chromium-review.googlesource.com/925222 Commit-Ready: Tomasz Figa <tfiga@chromium.org> Tested-by: Tomasz Figa <tfiga@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/b6f21b6b6e9164cfdd1d37fa9290592ee762a3d2/eclass/cros-workon.eclass
,
Feb 21 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by tfiga@chromium.org
, Feb 16 2018