libkmod: fix return error when opening index
[platform/upstream/kmod.git] / testsuite / populate-modules.sh
1 #!/bin/bash
2
3 set -e
4
5 MODULE_PLAYGROUND=$1
6 ROOTFS=$2
7
8 declare -A map
9 map=(
10     ["test-depmod/search-order-simple/lib/modules/4.4.4/kernel/crypto/"]="mod-simple.ko"
11     ["test-depmod/search-order-simple/lib/modules/4.4.4/updates/"]="mod-simple.ko"
12     ["test-depmod/search-order-same-prefix/lib/modules/4.4.4/foo/"]="mod-simple.ko"
13     ["test-depmod/search-order-same-prefix/lib/modules/4.4.4/foobar/"]="mod-simple.ko"
14     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
15     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
16     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-c.ko"]="mod-loop-c.ko"
17     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-d.ko"]="mod-loop-d.ko"
18     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-e.ko"]="mod-loop-e.ko"
19     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-f.ko"]="mod-loop-f.ko"
20     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-g.ko"]="mod-loop-g.ko"
21     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-h.ko"]="mod-loop-h.ko"
22     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-i.ko"]="mod-loop-i.ko"
23     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-j.ko"]="mod-loop-j.ko"
24     ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-k.ko"]="mod-loop-k.ko"
25     ["test-depmod/search-order-external-first/lib/modules/4.4.4/foo/"]="mod-simple.ko"
26     ["test-depmod/search-order-external-first/lib/modules/4.4.4/foobar/"]="mod-simple.ko"
27     ["test-depmod/search-order-external-first/lib/modules/external/"]="mod-simple.ko"
28     ["test-depmod/search-order-external-last/lib/modules/4.4.4/foo/"]="mod-simple.ko"
29     ["test-depmod/search-order-external-last/lib/modules/4.4.4/foobar/"]="mod-simple.ko"
30     ["test-depmod/search-order-external-last/lib/modules/external/"]="mod-simple.ko"
31     ["test-depmod/search-order-override/lib/modules/4.4.4/foo/"]="mod-simple.ko"
32     ["test-depmod/search-order-override/lib/modules/4.4.4/override/"]="mod-simple.ko"
33     ["test-dependencies/lib/modules/4.0.20-kmod/kernel/fs/foo/"]="mod-foo-b.ko"
34     ["test-dependencies/lib/modules/4.0.20-kmod/kernel/"]="mod-foo-c.ko"
35     ["test-dependencies/lib/modules/4.0.20-kmod/kernel/lib/"]="mod-foo-a.ko"
36     ["test-dependencies/lib/modules/4.0.20-kmod/kernel/fs/"]="mod-foo.ko"
37     ["test-init/"]="mod-simple.ko"
38     ["test-remove/"]="mod-simple.ko"
39     ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
40     ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
41     ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko"
42     ["test-modprobe/show-exports/mod-loop-a.ko"]="mod-loop-a.ko"
43     ["test-modprobe/softdep-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
44     ["test-modprobe/softdep-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
45     ["test-modprobe/install-cmd-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
46     ["test-modprobe/install-cmd-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
47     ["test-modprobe/force/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
48     ["test-modprobe/oldkernel/lib/modules/3.3.3/kernel/"]="mod-simple.ko"
49     ["test-modprobe/oldkernel-force/lib/modules/3.3.3/kernel/"]="mod-simple.ko"
50     ["test-modprobe/alias-to-none/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
51     ["test-modprobe/module-param-kcmdline/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
52     ["test-modprobe/external/lib/modules/external/"]="mod-simple.ko"
53     ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"]="mod-fake-cciss.ko"
54     ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"]="mod-fake-hpsa.ko"
55     ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"]="mod-fake-scsi-mod.ko"
56     ["test-modinfo/mod-simple-i386.ko"]="mod-simple-i386.ko"
57     ["test-modinfo/mod-simple-x86_64.ko"]="mod-simple-x86_64.ko"
58     ["test-modinfo/mod-simple-sparc64.ko"]="mod-simple-sparc64.ko"
59     ["test-modinfo/mod-simple-sha1.ko"]="mod-simple.ko"
60     ["test-modinfo/mod-simple-sha256.ko"]="mod-simple.ko"
61     ["test-modinfo/mod-simple-pkcs7.ko"]="mod-simple.ko"
62     ["test-modinfo/external/lib/modules/external/mod-simple.ko"]="mod-simple.ko"
63     ["test-tools/insert/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
64     ["test-tools/remove/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
65 )
66
67 gzip_array=(
68     "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"
69     "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"
70     "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"
71     )
72
73 attach_sha256_array=(
74     "test-modinfo/mod-simple-sha256.ko"
75     )
76
77 attach_sha1_array=(
78     "test-modinfo/mod-simple-sha1.ko"
79     )
80
81 attach_pkcs7_array=(
82     "test-modinfo/mod-simple-pkcs7.ko"
83     )
84
85 for k in ${!map[@]}; do
86     dst=${ROOTFS}/$k
87     src=${MODULE_PLAYGROUND}/${map[$k]}
88
89     if test "${dst: -1}" = "/"; then
90         install -d $dst
91         install -t $dst $src
92     else
93         install -D $src $dst
94     fi
95 done
96
97 # start poking the final rootfs...
98
99 # gzip these modules
100 for m in "${gzip_array[@]}"; do
101     gzip $ROOTFS/$m
102 done
103
104 for m in "${attach_sha1_array[@]}"; do
105     cat ${MODULE_PLAYGROUND}/dummy.sha1 >> ${ROOTFS}/$m
106 done
107
108 for m in "${attach_sha256_array[@]}"; do
109     cat ${MODULE_PLAYGROUND}/dummy.sha256 >> ${ROOTFS}/$m
110 done
111
112 for m in "${attach_pkcs7_array[@]}"; do
113     cat ${MODULE_PLAYGROUND}/dummy.pkcs7 >> ${ROOTFS}/$m
114 done