Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

kbuild: deb-pkg: use dh_listpackages to know enabled packages

Use dh_listpackages to get a list of all binary packages.

With this, debian/control lists which binary packages will be produced.
Previously, ARCH=um listed linux-libc-dev in debian/control, but it
was not generated because each of mkdebian and builddeb independently
maintained the if-conditionals.

Another motivation is to allow scripts/package/builddeb to get the
package name (linux-image-*, etc.) dynamically from debian/control.

This will also allow the BuildProfile to control the generation of
the binary packages.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

+37 -27
+31 -26
scripts/package/builddeb
··· 160 160 ln -s lib/modules/${KERNELRELEASE}/vmlinux ${pdir}/usr/lib/debug/vmlinux-${KERNELRELEASE} 161 161 } 162 162 163 - deploy_kernel_headers () { 163 + install_kernel_headers () { 164 164 pdir=$1 165 165 166 166 rm -rf $pdir ··· 198 198 ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build 199 199 } 200 200 201 - deploy_libc_headers () { 201 + install_libc_headers () { 202 202 pdir=$1 203 203 204 204 rm -rf $pdir ··· 213 213 mv $pdir/usr/include/asm $pdir/usr/include/$host_arch/ 214 214 } 215 215 216 - version=$KERNELRELEASE 217 - packagename=linux-image-$version 218 - dbg_packagename=$packagename-dbg 219 - 220 - if [ "$ARCH" = "um" ] ; then 221 - packagename=user-mode-linux-$version 222 - fi 223 - 224 216 rm -f debian/files 225 217 226 - if [ "$ARCH" != "um" ]; then 227 - if is_enabled CONFIG_MODULES; then 228 - deploy_kernel_headers debian/linux-headers 229 - create_package linux-headers-$version debian/linux-headers 230 - fi 218 + packages_enabled=$(dh_listpackages) 231 219 232 - deploy_libc_headers debian/linux-libc-dev 233 - create_package linux-libc-dev debian/linux-libc-dev 234 - fi 220 + for package in ${packages_enabled} 221 + do 222 + case ${package} in 223 + *-dbg) 224 + # This must be done after linux-image, that is, we expect the 225 + # debug package appears after linux-image in debian/control. 226 + install_linux_image_dbg debian/linux-image-dbg debian/linux-image;; 227 + linux-image-*|user-mode-linux-*) 228 + install_linux_image debian/linux-image ${package};; 229 + linux-libc-dev) 230 + install_libc_headers debian/linux-libc-dev;; 231 + linux-headers-*) 232 + install_kernel_headers debian/linux-headers;; 233 + esac 234 + done 235 235 236 - install_linux_image debian/linux-image "$packagename" 237 - 238 - if is_enabled CONFIG_DEBUG_INFO; then 239 - install_linux_image_dbg debian/linux-image-dbg debian/linux-image 240 - create_package "$dbg_packagename" debian/linux-image-dbg 241 - fi 242 - 243 - create_package "$packagename" debian/linux-image 236 + for package in ${packages_enabled} 237 + do 238 + case ${package} in 239 + *-dbg) 240 + create_package ${package} debian/linux-image-dbg;; 241 + linux-image-*|user-mode-linux-*) 242 + create_package ${package} debian/linux-image;; 243 + linux-libc-dev) 244 + create_package ${package} debian/linux-libc-dev;; 245 + linux-headers-*) 246 + create_package ${package} debian/linux-headers;; 247 + esac 248 + done 244 249 245 250 exit 0
+6 -1
scripts/package/mkdebian
··· 192 192 Priority: optional 193 193 Maintainer: $maintainer 194 194 Rules-Requires-Root: no 195 - Build-Depends: bc, rsync, kmod, cpio, bison, flex $extra_build_depends 195 + Build-Depends: bc, debhelper, rsync, kmod, cpio, bison, flex $extra_build_depends 196 196 Homepage: https://www.kernel.org/ 197 197 198 198 Package: $packagename-$version ··· 200 200 Description: Linux kernel, version $version 201 201 This package contains the Linux kernel, modules and corresponding other 202 202 files, version: $version. 203 + EOF 204 + 205 + if [ "${SRCARCH}" != um ]; then 206 + cat <<EOF >> debian/control 203 207 204 208 Package: linux-libc-dev 205 209 Section: devel ··· 225 221 . 226 222 This is useful for people who need to build external modules 227 223 EOF 224 + fi 228 225 fi 229 226 230 227 if is_enabled CONFIG_DEBUG_INFO; then