History

builddeb: split kernel headers deployment out into a function

Deploy kernel headers (linux-headers package) in a separate function for readability.

Masahiro Yamada committed 6 years ago

Commit 3126c171 parent aae6a671 file · +42 −34Browse files

Unified · Split

scripts/package/builddeb+42−34
@@ -46,13 +46,49 @@ create_package() { · 45 unmodified lines
46 dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" ..46 dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" ..
47}47}
48 48
49deploy_kernel_headers () {
50 pdir=$1
51
52 rm -rf $pdir
53
54 (
55 cd $srctree
56 find . arch/$SRCARCH -maxdepth 1 -name Makefile\*
57 find include scripts -type f -o -type l
58 find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform
59 find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f
60 ) > debian/hdrsrcfiles
61
62 {
63 if is_enabled CONFIG_STACK_VALIDATION; then
64 echo tools/objtool/objtool
65 fi
66
67 find arch/$SRCARCH/include Module.symvers include scripts -type f
68
69 if is_enabled CONFIG_GCC_PLUGINS; then
70 find scripts/gcc-plugins -name \*.so
71 fi
72 } > debian/hdrobjfiles
73
74 destdir=$pdir/usr/src/linux-headers-$version
75 mkdir -p $destdir
76 tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir
77 tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir
78 rm -f debian/hdrsrcfiles debian/hdrobjfiles
79
80 # copy .config manually to be where it's expected to be
81 cp $KCONFIG_CONFIG $destdir/.config
82
83 mkdir -p $pdir/lib/modules/$version/
84 ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build
85}
86
49version=$KERNELRELEASE87version=$KERNELRELEASE
50tmpdir=debian/linux-image88tmpdir=debian/linux-image
51kernel_headers_dir=debian/linux-headers
52libc_headers_dir=debian/linux-libc-dev89libc_headers_dir=debian/linux-libc-dev
53dbg_dir=debian/linux-image-dbg90dbg_dir=debian/linux-image-dbg
54packagename=linux-image-$version91packagename=linux-image-$version
55kernel_headers_packagename=linux-headers-$version
56libc_headers_packagename=linux-libc-dev92libc_headers_packagename=linux-libc-dev
57dbg_packagename=$packagename-dbg93dbg_packagename=$packagename-dbg
58 94
@@ -77,10 +113,9 @@ esac · 18 unmodified lines
77BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)113BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)
78 114
79# Setup the directory structure115# Setup the directory structure
80rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" debian/files116rm -rf "$tmpdir" "$libc_headers_dir" "$dbg_dir" debian/files
81mkdir -m 755 -p "$tmpdir/DEBIAN"117mkdir -m 755 -p "$tmpdir/DEBIAN"
82mkdir -p "$tmpdir/lib" "$tmpdir/boot"118mkdir -p "$tmpdir/lib" "$tmpdir/boot"
83mkdir -p "$kernel_headers_dir/lib/modules/$version/"
84 119
85# Install the kernel120# Install the kernel
86if [ "$ARCH" = "um" ] ; then121if [ "$ARCH" = "um" ] ; then
@@ -163,37 +198,10 @@ EOF · 76 unmodified lines
163 chmod 755 "$tmpdir/DEBIAN/$script"198 chmod 755 "$tmpdir/DEBIAN/$script"
164done199done
165 200
166# Build kernel header package
167(
168 cd $srctree
169 find . arch/$SRCARCH -maxdepth 1 -name Makefile\*
170 find include scripts -type f -o -type l
171 find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform
172 find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f
173) > debian/hdrsrcfiles
174
175{
176 if is_enabled CONFIG_STACK_VALIDATION; then
177 echo tools/objtool/objtool
178 fi
179
180 find arch/$SRCARCH/include Module.symvers include scripts -type f
181
182 if is_enabled CONFIG_GCC_PLUGINS; then
183 find scripts/gcc-plugins -name \*.so
184 fi
185} > debian/hdrobjfiles
186
187destdir=$kernel_headers_dir/usr/src/linux-headers-$version
188mkdir -p "$destdir"
189tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir
190tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir
191cp $KCONFIG_CONFIG $destdir/.config # copy .config manually to be where it's expected to be
192ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
193rm -f debian/hdrsrcfiles debian/hdrobjfiles
194
195if [ "$ARCH" != "um" ]; then201if [ "$ARCH" != "um" ]; then
196 create_package "$kernel_headers_packagename" "$kernel_headers_dir"202 deploy_kernel_headers debian/linux-headers
203 create_package linux-headers-$version debian/linux-headers
204
197 create_package "$libc_headers_packagename" "$libc_headers_dir"205 create_package "$libc_headers_packagename" "$libc_headers_dir"
198fi206fi
199 207

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t