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)
|