mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-14 13:25:09 -05:00
cbaff216b3
We don't write with extra or unknown whitespace, so there is little reason for us to trim it when reading either. This also fixes the hopefully never encountered "paths that start or end with spaces" issue, for which two pactests have been added. The tests also contain other evil characters that we have encountered before and handle just fine, but it doesn't hurt to ensure we don't break such support in the future. Signed-off-by: Dan McGee <dan@archlinux.org>
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
# coding=utf8
|
|
self.description = "Sync packages with evil filenames"
|
|
|
|
self.filesystem = ["usr/bin/endwithspace",
|
|
"usr/bin/newendwithspace",
|
|
"usr/bin/disappear",
|
|
"spaces/name",
|
|
"spaces/name2"]
|
|
|
|
p1 = pmpkg("spaces")
|
|
p1.files = ["usr/bin/endwithspace ",
|
|
"usr/bin/disappear ",
|
|
" spaces/name",
|
|
" spaces/gone"]
|
|
self.addpkg2db("local", p1)
|
|
|
|
sp1 = pmpkg("spaces", "1.1-1")
|
|
sp1.files = ["usr/bin/endwithspace ",
|
|
"usr/bin/newendwithspace ",
|
|
" spaces/name",
|
|
" spaces/name2"]
|
|
self.addpkg2db("sync", sp1)
|
|
|
|
names = ["Märchen", "ƏƐƕƺ", "предупреждение", "סֶאבױ",
|
|
"←↯↻⇈", "アヅヨヾ", "错误"]
|
|
|
|
p2 = pmpkg("unicodechars")
|
|
# somewhat derived from FS#9906
|
|
p2.files = ["usr/share/%s" % name for name in names]
|
|
self.addpkg2db("local", p2)
|
|
|
|
sp2 = pmpkg("unicodechars", "2.0-1")
|
|
sp2.files = ["usr/man/%s" % name for name in names]
|
|
self.addpkg2db("sync", sp2)
|
|
|
|
self.args = "-S %s %s" % (sp1.name, sp2.name)
|
|
|
|
self.addrule("PACMAN_RETCODE=0")
|
|
self.addrule("PKG_VERSION=%s|%s" % (sp1.name, sp1.version))
|
|
self.addrule("PKG_VERSION=%s|%s" % (sp2.name, sp2.version))
|
|
|
|
for f in self.filesystem:
|
|
self.addrule("FILE_EXIST=%s" % f)
|
|
self.addrule("FILE_EXIST=usr/bin/endwithspace ")
|
|
self.addrule("FILE_EXIST= spaces/name")
|
|
self.addrule("FILE_EXIST= spaces/name2")
|
|
self.addrule("!FILE_EXIST=usr/bin/disappear ")
|
|
for f in p2.files:
|
|
self.addrule("!FILE_EXIST=%s" % f)
|
|
for f in sp2.files:
|
|
self.addrule("FILE_EXIST=%s" % f)
|