1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/python3
import os
import opk, cfg, opkgcl
opk.regress_init()
long_dir = 110*"a"
long_b = 110*"b"
long_filename = long_dir + "/"+ long_b
long_filename2 = long_dir + "/" + 110*"c"
os.mkdir(long_dir)
open(long_filename, "w").close()
os.symlink(long_b, long_filename2)
a = opk.Opk(Package="a", Version="1.0", Architecture="all")
a.write(data_files=[long_dir, long_filename, long_filename2])
os.unlink(long_filename)
os.unlink(long_filename2)
os.rmdir(long_dir)
opkgcl.install("a_1.0_all.opk")
if not opkgcl.is_installed("a"):
print(__file__, ": Package 'a' not installed.")
exit(False)
if not os.path.exists("{}/{}".format(cfg.offline_root, long_dir)):
print(__file__, ": dir with name longer than 100 "
"characters not created.")
exit(False)
if not os.path.exists("{}/{}".format(cfg.offline_root, long_filename)):
print(__file__, ": file with a name longer than 100 characters, "
"in dir with name longer than 100 characters, "
"not created.")
exit(False)
if not os.path.lexists("{}/{}".format(cfg.offline_root, long_filename2)):
print(__file__, ": symlink with a name longer than 100 characters, "
"pointing at a file with a name longer than "
"100 characters,"
"in dir with name longer than 100 characters, "
"not created.")
exit(False)
linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2))
linky_dst = "{}/{}".format(cfg.offline_root, long_filename)
if linky != linky_dst:
print(__file__, ": symlink path truncated.")
exit(False)
opkgcl.remove("a")
|