On 10/10/2017 09:22 AM, Peter Maydell wrote: > Hi; we currently have an issue with the u-boot we're using where it > has a file and a directory that differ only in case (scripts/Kconfig > and scripts/kconfig/). This means that QEMU's release tarballs won't > unpack on a case-insensitive filesystem (OSX, Windows). > > u-boot have now fixed this upstream: > http://git.denx.de/?p=u-boot.git;a=commitdiff;h=610eec7f0593574c034054ba54fc1c934755e208 > > but we need to decide how best to get this fix into QEMU so that > our tarballs will unpack, both for the upcoming QEMU 2.11 and > ideally for future point releases based on 2.10. > > I can see a couple of options: > (1) wait for next u-boot release (scheduled for Nov 13, 2017), > and move to that > [downsides: would be in the middle of QEMU's own release cycle, > pretty late to fix any problems with the new version; > rather a big change to put into stable] > (2) move to u-boot current head-of-unstable > [downsides: would mean running some random git commit version, > also not really very suitable for stable] > (3) backport the upstream fix to sit on top of the u-boot version > we're currently using (I think the patch should apply as-is) > [downsides: would need to figure out how to get that commit into > the mirror of the u-boot repo that we use; would a build of it > claim a misleading u-boot version number?] > (4) suggest your better idea here! > > Thoughts? half-and-half? Use option (1) for 2.11 (that is, wait for November's release there), but option (3) for 2.10.2 (that is, backport just the fix onto the u-boot version uses in 2.10.x right now)? (I'm not sure I'm a fan of the idea of split maintenance like that, but am throwing it out as a possible (4) since you asked). > > (Proposals for automated tests to ensure we don't run into the > case-sensitivity problem again in future also welcome.) Would it be as simple as using LC_ALL=C filelist=$(... ) diff <(printf '%s\n' $filelist | sort -f) \ <(printf '%s\n' $filelist | sort -f -u) where filelist is determined by 'tar tf tarball' or by some invocation of 'git ls-files'? Perhaps something we can even add to checkpatch.pl, although my perl is not strong enough to write that. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org