makepkg: use builtin globbing to print files in package
- it comes with free collation when moving the LC_ALL declaration up a bit; this fixes a bug where the .FILES were not being properly sorted and their order depended on directory creation order, which broke reproducible builds in the wild. - it handles sorting null-delimited output everywhere, without sort -z; this lets us get rid of sed hacks - it is faster than invoking multiple find subprocesses - dotfiles can be automatically printed *and the C locale sorts them first* with a single ** glob Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
e12d032174
commit
b5191ea140
1 changed files with 5 additions and 2 deletions
|
@ -708,8 +708,11 @@ write_buildinfo() {
|
|||
# database files are placed at the beginning of the package regardless of
|
||||
# sorting
|
||||
list_package_files() {
|
||||
(find . -path './.*' \! -name '.'; find . \! -path './.*' \! -name '.' | LC_ALL=C sort) |
|
||||
sed -e 's|^\./||' | tr '\n' '\0'
|
||||
(
|
||||
export LC_COLLATE=C
|
||||
shopt -s dotglob globstar
|
||||
printf '%s\0' **
|
||||
)
|
||||
}
|
||||
|
||||
create_package() {
|
||||
|
|
Loading…
Add table
Reference in a new issue