Having repository with package shaman-git-2.0.0_α_19_gd28fd8e-1-x86_64.pkg.tar.xz (notice the α in the name) and running repose -f custom resulting files db seems to be causing trouble with pkgfile. At first I've suspected pkgfile and reported issue there https://github.com/falconindy/pkgfile/issues/24.
It turns out that instead probably repose should be adjusted. AFAIK repose uses libarchive which also provides bsdtar which is in turn used by repo-add. libarchive uses user's locale to decode filenames. Since explicit setlocale() is not done, C/POSIX locale is assumed resulting in archive with hdrcharset=BINARY, which seem to later trouble pkgfile. Interestingly bsdtar --list works OK.
Nevertheless, as pointed out in the issue linked above, to do proper character set handling following should be done close to beginning of the program:
Having repository with package
shaman-git-2.0.0_α_19_gd28fd8e-1-x86_64.pkg.tar.xz
(notice theα
in the name) and runningrepose -f custom
resulting files db seems to be causing trouble withpkgfile
. At first I've suspectedpkgfile
and reported issue there https://github.com/falconindy/pkgfile/issues/24.It turns out that instead probably
repose
should be adjusted. AFAIKrepose
useslibarchive
which also providesbsdtar
which is in turn used byrepo-add
.libarchive
uses user's locale to decode filenames. Since explicitsetlocale()
is not done,C/POSIX
locale is assumed resulting in archive withhdrcharset=BINARY
, which seem to later troublepkgfile
. Interestinglybsdtar --list
works OK.Nevertheless, as pointed out in the issue linked above, to do proper character set handling following should be done close to beginning of the program: