[Buildroot] File path name and bash pattern matching
Peter Seiderer
ps.report at gmx.net
Fri Jun 17 22:05:44 UTC 2016
Hello,
some fun with a patch file name containing '?' and bash pattern matching, e.g:
$ make openssl-dirclean
Rename the original patch file substituting '?' with '_':
$ mv dl/openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d dl/openssl-1.0.2d-parallel-build.patch_id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
Buildroot fails with misleading error message:
$ make
umask 0022 && make -C <some_path>/build O=<some_path>/build/.
openssl-1.0.2h.tar.gz: OK (sha256: 1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919)
ERROR: No hash found for openssl-1.0.2d-parallel-build.patch_id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
ERROR: No hash found for openssl-1.0.2d-parallel-build.patch_id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
package/pkg-generic.mk:113: recipe for target '<some_path>/build/openssl-1.0.2h/.stamp_downloaded' failed
make[1]: *** [<some_path>/build/openssl-1.0.2h/.stamp_downloaded] Error 1
Makefile:16: recipe for target '_all' failed
make: *** [_all] Error 2
Removing the renamed patch file fixes the build:
$ rm dl/openssl-1.0.2d-parallel-build.patch_id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
$ make
...starts with a fresh download of the missing patch file...
Which is the best way to avoid bash pattern matching here (in 'support/download/dl-wrapper')?
Regards,
Peter
More information about the buildroot
mailing list