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
|
# database files are placed at the beginning of the package regardless of
|
||||||
# sorting
|
# sorting
|
||||||
list_package_files() {
|
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() {
|
create_package() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue