Whamcloud - gitweb
LU-13374 mdd: fix close time update race with set-in-past
[fs/lustre-release.git] / debian / repackage-multiple-lnds.sh
1 #!/bin/bash
2 # Repackage LNDs into multiple packages:
3 KVERS=$1
4 VER=$2
5 LMDEB=$(ls $3)
6
7 origin=$(dirname $(realpath $LMDEB))
8 modpkg=$(basename -s .deb $LMDEB)
9 arch=$(echo $modpkg | cut -d_ -f3)
10 kfipkg="lustre-lnet-module-kfilnd-${KVERS}_${VER}_${arch}"
11 gnipkg="lustre-lnet-module-gnilnd-${KVERS}_${VER}_${arch}"
12 sockpkg="lustre-lnet-module-socklnd-${KVERS}_${VER}_${arch}"
13 o2ibpkg="lustre-lnet-module-o2iblnd-${KVERS}_${VER}_${arch}"
14 in_kernel_o2ibpkg="lustre-lnet-module-in-kernel-o2iblnd-${KVERS}_${VER}_${arch}"
15
16 VERBOSE=''
17
18 # expand the modules package:
19 cd debian/tmp/re-pkg/${modpkg}
20 ar x ../../../../$LMDEB
21 cd DEBIAN; tar xf ../control.tar*; cd ..
22 tar xf data.tar*
23 mv debian-binary DEBIAN
24 rm data.tar* control.tar*
25 modpath=$(dirname $(find . -name ksocklnd.ko))
26 cd ..
27
28 # NOTE: pwd is debian/tmp/re-pkg
29
30 if [[ "x${VERBOSE}" = "x-v" ]] ; then
31         echo "repackage-multiple-lnds"
32         echo "  DEB:      '${LMDEB}'"
33         echo "  KVERS:    '${KVERS}'"
34         echo "  VER:      '${VER}"
35         echo "  arch:     '${arch}"
36         echo "  origin:   '${origin}'"
37         echo "  modpath:  '${modpath}'"
38 fi
39
40 for pkg in ${modpkg} ${kfipkg} ${gnipkg} ${sockpkg} ${o2ibpkg} ${in_kernel_o2ibpkg}
41 do
42     mkdir -p ${pkg}/DEBIAN
43     mkdir -p ${pkg}/${modpath}
44 done
45
46 # Migate individual lnds to new packages
47 if [[ -f ${modpkg}/${modpath}/kkfilnd.ko ]] ; then
48     [[ x${VERBOSE} = 'x-v' ]] && echo "Repackage kkfilnd.ko"
49     mv ${modpkg}/${modpath}/kkfilnd.ko ${kfipkg}/${modpath}/
50     cp ${modpkg}/DEBIAN/* ${kfipkg}/DEBIAN
51     grep kkfilnd.ko ${modpkg}/DEBIAN/md5sums > ${kfipkg}/DEBIAN/md5sums
52     sed -e "s:_KVERS_:${KVERS}:g" -e "s:_VERS_:${VER}:g" -e "s:_ARCH_:${arch}:g" \
53         ../../control-lnet-kfilnd.in > ${kfipkg}/DEBIAN/control
54     dpkg-deb --build ${kfipkg}
55     cp ${VERBOSE} ${kfipkg}.deb ${origin}
56 fi
57 if [[ -f ${modpkg}/${modpath}/kgnilnd.ko ]] ; then
58     [[ x${VERBOSE} = 'x-v' ]] && echo "Repackage kgnilnd.ko"
59     mv ${modpkg}/${modpath}/kgnilnd.ko ${gnipkg}/${modpath}/
60     cp ${modpkg}/DEBIAN/* ${gnipkg}/DEBIAN
61     grep kgnilnd.ko ${modpkg}/DEBIAN/md5sums > ${gnipkg}/DEBIAN/md5sums
62     sed -e "s:_KVERS_:${KVERS}:g" -e "s:_VERS_:${VER}:g" -e "s:_ARCH_:${arch}:g" \
63         ../../control-lnet-gnilnd.in > ${gnipkg}/DEBIAN/control
64     dpkg-deb --build ${gnipkg}
65     cp ${VERBOSE} ${gnipkg}.deb ${origin}
66 fi
67 if [[ -f ${modpkg}/${modpath}/ksocklnd.ko ]] ; then
68     [[ x${VERBOSE} = 'x-v' ]] && echo "Repackage ksocklnd.ko"
69     mv ${modpkg}/${modpath}/ksocklnd.ko ${sockpkg}/${modpath}/
70     cp ${modpkg}/DEBIAN/* ${sockpkg}/DEBIAN
71     grep ksocklnd.ko ${modpkg}/DEBIAN/md5sums > ${sockpkg}/DEBIAN/md5sums
72     sed -e "s:_KVERS_:${KVERS}:g" -e "s:_VERS_:${VER}:g" -e "s:_ARCH_:${arch}:g" \
73         ../../control-lnet-socklnd.in > ${sockpkg}/DEBIAN/control
74     dpkg-deb --build ${sockpkg}
75     cp ${VERBOSE} ${sockpkg}.deb ${origin}
76 fi
77 if [[ -f ${modpkg}/${modpath}/ko2iblnd.ko ]] ; then
78     [[ x${VERBOSE} = 'x-v' ]] && echo "Repackage ko2iblnd.ko"
79     mv ${modpkg}/${modpath}/ko2iblnd.ko ${o2ibpkg}/${modpath}/
80     cp ${modpkg}/DEBIAN/* ${o2ibpkg}/DEBIAN
81     grep ko2iblnd.ko ${modpkg}/DEBIAN/md5sums > ${o2ibpkg}/DEBIAN/md5sums
82     sed -e "s:_KVERS_:${KVERS}:g" -e "s:_VERS_:${VER}:g" -e "s:_ARCH_:${arch}:g" \
83         ../../control-lnet-o2iblnd.in > ${o2ibpkg}/DEBIAN/control
84     dpkg-deb --build ${o2ibpkg}
85     cp ${VERBOSE} ${o2ibpkg}.deb ${origin}
86 fi
87 if [[ -f ${modpkg}/${modpath}/in-kernel-ko2iblnd.ko ]] ; then
88     [[ x${VERBOSE} = 'x-v' ]] && echo "Repackage in-kernel-ko2iblnd.ko as ko2iblnd.ko"
89     mv ${modpkg}/${modpath}/in-kernel-ko2iblnd.ko ${in_kernel_o2ibpkg}/${modpath}/ko2iblnd.ko
90     cp ${modpkg}/DEBIAN/* ${in_kernel_o2ibpkg}/DEBIAN
91     grep in-kernel-ko2iblnd.ko ${modpkg}/DEBIAN/md5sums > ${in_kernel_o2ibpkg}/DEBIAN/md5sums
92     sed -e "s:_KVERS_:${KVERS}:g" -e "s:_VERS_:${VER}:g" -e "s:_ARCH_:${arch}:g" \
93         ../../control-lnet-in-kernel-o2iblnd.in > ${in_kernel_o2ibpkg}/DEBIAN/control
94     dpkg-deb --build ${in_kernel_o2ibpkg}
95     cp ${VERBOSE} ${in_kernel_o2ibpkg}.deb ${origin}
96 fi
97
98 # Rebuilding lustre-[client|server]-modules without lnet lnd drivers
99 dpkg-deb --build ${modpkg}
100 cp ${VERBOSE} ${modpkg}.deb ${origin}