Commits on Source (7)
-
Chris Lamb authored
An old version was seemingly merged [locally] by myself. See: !4 (comment 107844) Gbp-Dch: ignore
-
Signed-off-by:
Chris Lamb <lamby@debian.org>
-
Don't reset to "644" the pseudo-permissions of the symbols table '/'. Whatever the placeholder is ("0" with GNU ar 2.31), messing with it diverges with the output of GNU ar which is already deterministic. Signed-off-by:
Chris Lamb <lamby@debian.org>
-
Long filenames are stored in a special section with a completely different format. Stop assuming it has regular metadata and stop corrupting it. Signed-off-by:
Chris Lamb <lamby@debian.org>
-
Note symbol_table.out cannot be produced by GNU ar alone because it can't set any specified timestamp on the symbol table. long_member_name.a.out cannot be created by GNU ar alone either for a completely different, strange and permission-related reason. Faking a specified timestamp for archive members is easy pre-archiving with "touch -r". However this obviously requires 'ar U'. For long filenames, ar U maps permissions 644 to the string "100644" for some unknown reason. Both ar D and strip-nondeterminism use the permission string "644" (displayed by diffoscope as "?rw-r--r--") This is the script which was used to create these test files: create_ar_testcase() { ar_base="$1"; shift for o in "$@"; do objcopy --remove-section=.comment \ --remove-section=.note.GNU-stack \ --remove-section=.eh_frame \ "$o" || true done touch "$@" rm -f "${ar_base}".a.in "${ar_base}".a.out "${ar_base}".a.D ar qU "${ar_base}".a.in "$@" ar qD "${ar_base}".a.D "$@" cp "${ar_base}".a.D "${ar_base}".a strip-nondeterminism --normalizers +all -v -T 1423159771 "${ar_base}".a mv "${ar_base}".a "${ar_base}".a.out } Signed-off-by:
Chris Lamb <lamby@debian.org>
-
Signed-off-by:
Chris Lamb <lamby@debian.org>
-
In other words tell the user when GNU ar cannot reproduce the output of strip-nondeterminism. Signed-off-by:
Chris Lamb <lamby@debian.org>
debian/source/include-binaries
deleted
100644 → 0