Whamcloud - gitweb
705b8ef8fea076fef62d3e37cb2646cb6e7c8ea7
[fs/lustre-release.git] / lustre / scripts / dkms.mkconf
1 #!/bin/bash
2
3 PROG=$0
4
5 kmoddir=extra
6
7 while getopts "n:v:f:k:" opt; do
8         case $opt in
9                 n) pkgname=$OPTARG ;;
10                 v) pkgver=$OPTARG  ;;
11                 f) filename=$OPTARG ;;
12                 k) kmoddir=$OPTARG ;;
13         esac
14 done
15
16 if [ -z "${pkgname}" -o -z "${pkgver}" -o -z "${filename}" ]; then
17         echo "Usage: $PROG -n <pkgname> -v <pkgver> [-k <kmoddir> ] -f <filename>"
18         exit 1
19 fi
20
21 cat >${filename} <<EOF
22 PACKAGE_NAME="${pkgname}"
23 PACKAGE_VERSION="${pkgver}"
24 PACKAGE_CONFIG="/etc/sysconfig/lustre"
25 # re-evaluate/create dkms.conf on-target based on local build-time products/dependencies
26 # (like krb5-devel presence) and also upon configure results/errors before dkms builds
27 PRE_BUILD="lustre-dkms_pre-build.sh \$module \$module_version \$kernelver \$kernel_source_dir \
28          \$arch \$source_tree \$dkms_tree"
29 # to ensure all just built Lustre kernel modules will be saved for further install
30 POST_BUILD="lustre-dkms_post-build.sh \$module \$module_version \$kernelver \$kernel_source_dir \
31          \$arch \$source_tree \$dkms_tree"
32 EOF
33 if [ $pkgname = "lustre-zfs" -o $pkgname = "lustre-all" ] ; then
34         cat >>${filename} <<EOF
35 BUILD_DEPENDS[0]="zfs"
36 EOF
37 fi
38 cat >>${filename} <<EOF
39 AUTOINSTALL="yes"
40 MAKE[0]="make"
41 # just have to set STRIP[0], it will become the new default.
42 STRIP[0]="\$(
43   [[ -r \${PACKAGE_CONFIG} ]] \\
44   && source \${PACKAGE_CONFIG} \\
45   && shopt -q -s extglob \\
46   && [[ \${LUSTRE_DKMS_DISABLE_STRIP,,} == @(y|yes) ]] \\
47   && echo -n no
48 )"
49
50 # Common modules for both Client & Server
51 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lnet_selftest"
52 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/selftest/"
53 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
54 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lnet"
55 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/lnet/"
56 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
57 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ksocklnd"
58 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/klnds/socklnd/"
59 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
60 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ko2iblnd"
61 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/klnds/o2iblnd/"
62 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
63 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="libcfs"
64 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="libcfs/libcfs/"
65 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
66 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ptlrpc"
67 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ptlrpc/"
68 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
69 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lov"
70 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lov/"
71 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
72 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="fld"
73 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/fld/"
74 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
75 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="obdecho"
76 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdecho/"
77 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
78 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osc"
79 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osc/"
80 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
81 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mgc"
82 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mgc/"
83 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
84 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="fid"
85 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/fid/"
86 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
87 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdc"
88 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdc/"
89 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
90 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="obdclass"
91 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdclass/"
92 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
93 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lmv"
94 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lmv/"
95 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
96 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lustre"
97 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/llite/"
98 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
99 if \$( rpm -qa | grep -q krb5-devel ) ; then
100 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ptlrpc_gss"
101 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ptlrpc/gss/"
102 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
103 fi
104 EOF
105 if [ $pkgname != "lustre-client" ] ; then
106         cat >>${filename} <<EOF
107 # Server Modules
108 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ofd"
109 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ofd/"
110 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
111 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ost"
112 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ost/"
113 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
114 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lfsck"
115 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lfsck/"
116 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
117 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mgs"
118 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mgs/"
119 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
120 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lquota"
121 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/quota/"
122 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
123 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdt"
124 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdt/"
125 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
126 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osp"
127 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osp/"
128 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
129 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdd"
130 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdd/"
131 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
132 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="llog_test"
133 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdclass/"
134 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
135 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="obd_test"
136 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdclass/"
137 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
138 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lod"
139 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lod/"
140 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
141 EOF
142 fi
143 if [ $pkgname = "lustre-zfs" -o $pkgname = "lustre-all" ] ; then
144         cat >>${filename} <<EOF
145 # Module for ZFS backing
146 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osd_zfs"
147 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osd-zfs/"
148 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
149 EOF
150 fi
151 if [ $pkgname = "lustre-ldiskfs" -o $pkgname = "lustre-all" ] ; then
152         cat >>${filename} <<EOF
153 # Module for ldiskfs backing
154 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osd_ldiskfs"
155 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osd-ldiskfs/"
156 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
157 # ldiskfs module
158 BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ldiskfs"
159 BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="ldiskfs/"
160 DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
161 EOF
162 fi