~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/package/mkdebian

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/package/mkdebian (Version linux-6.12-rc7) and /scripts/package/mkdebian (Version linux-4.18.20)


  1 #!/bin/sh                                           1 #!/bin/sh
  2 #                                                   2 #
  3 # Copyright 2003 Wichert Akkerman <wichert@wigg      3 # Copyright 2003 Wichert Akkerman <wichert@wiggy.net>
  4 #                                                   4 #
  5 # Simple script to generate a debian/ director      5 # Simple script to generate a debian/ directory for a Linux kernel.
  6                                                     6 
  7 set -eu                                        !!   7 set -e
  8                                                << 
  9 is_enabled() {                                 << 
 10         grep -q "^$1=y" include/config/auto.co << 
 11 }                                              << 
 12                                                << 
 13 if_enabled_echo() {                            << 
 14         if is_enabled "$1"; then               << 
 15                 echo -n "$2"                   << 
 16         elif [ $# -ge 3 ]; then                << 
 17                 echo -n "$3"                   << 
 18         fi                                     << 
 19 }                                              << 
 20                                                     8 
 21 set_debarch() {                                     9 set_debarch() {
 22         if [ "${KBUILD_DEBARCH:+set}" ]; then  << 
 23                 debarch="$KBUILD_DEBARCH"      << 
 24                 return                         << 
 25         fi                                     << 
 26                                                << 
 27         # Attempt to find the correct Debian a     10         # Attempt to find the correct Debian architecture
 28         case "$UTS_MACHINE" in                     11         case "$UTS_MACHINE" in
 29         i386|alpha|m68k|riscv*)                !!  12         i386|ia64|alpha)
 30                 debarch="$UTS_MACHINE" ;;          13                 debarch="$UTS_MACHINE" ;;
 31         x86_64)                                    14         x86_64)
 32                 debarch=amd64 ;;                   15                 debarch=amd64 ;;
 33         sparc*)                                    16         sparc*)
 34                 debarch=sparc$(if_enabled_echo !!  17                 debarch=sparc ;;
 35         s390*)                                     18         s390*)
 36                 debarch=s390x ;;               !!  19                 debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
 37         ppc*)                                      20         ppc*)
 38                 if is_enabled CONFIG_64BIT; th !!  21                 debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
 39                         debarch=ppc64$(if_enab << 
 40                 else                           << 
 41                         debarch=powerpc$(if_en << 
 42                 fi                             << 
 43                 ;;                             << 
 44         parisc*)                                   22         parisc*)
 45                 debarch=hppa ;;                    23                 debarch=hppa ;;
 46         mips*)                                     24         mips*)
 47                 if is_enabled CONFIG_CPU_LITTL !!  25                 debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
 48                         debarch=mips$(if_enabl << 
 49                 elif is_enabled CONFIG_CPU_MIP << 
 50                         debarch=mips$(if_enabl << 
 51                 else                           << 
 52                         debarch=mips           << 
 53                 fi                             << 
 54                 ;;                             << 
 55         aarch64|arm64)                             26         aarch64|arm64)
 56                 debarch=arm64 ;;                   27                 debarch=arm64 ;;
 57         arm*)                                      28         arm*)
 58                 if is_enabled CONFIG_AEABI; th !!  29                 if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
 59                         debarch=arm$(if_enable !!  30                     if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
                                                   >>  31                         debarch=armhf
                                                   >>  32                     else
                                                   >>  33                         debarch=armel
                                                   >>  34                     fi
 60                 else                               35                 else
 61                         debarch=arm            !!  36                     debarch=arm
 62                 fi                                 37                 fi
 63                 ;;                                 38                 ;;
 64         openrisc)                              !!  39         *)
 65                 debarch=or1k ;;                !!  40                 debarch=$(dpkg --print-architecture)
 66         sh)                                    << 
 67                 if is_enabled CONFIG_CPU_SH3;  << 
 68                         debarch=sh3$(if_enable << 
 69                 elif is_enabled CONFIG_CPU_SH4 << 
 70                         debarch=sh4$(if_enable << 
 71                 fi                             << 
 72                 ;;                             << 
 73         esac                                   << 
 74         if [ -z "$debarch" ]; then             << 
 75                 debarch=$(dpkg-architecture -q << 
 76                 echo "" >&2                        41                 echo "" >&2
 77                 echo "** ** **  WARNING  ** **     42                 echo "** ** **  WARNING  ** ** **" >&2
 78                 echo "" >&2                        43                 echo "" >&2
 79                 echo "Your architecture doesn'     44                 echo "Your architecture doesn't have its equivalent" >&2
 80                 echo "Debian userspace archite     45                 echo "Debian userspace architecture defined!" >&2
 81                 echo "Falling back to the curr !!  46                 echo "Falling back to using your current userspace instead!" >&2
 82                 echo "Please add support for $     47                 echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
 83                 echo "" >&2                        48                 echo "" >&2
                                                   >>  49         esac
                                                   >>  50         if [ -n "$KBUILD_DEBARCH" ] ; then
                                                   >>  51                 debarch="$KBUILD_DEBARCH"
 84         fi                                         52         fi
 85 }                                                  53 }
 86                                                    54 
 87 # Create debian/source/ if it is a source pack << 
 88 gen_source ()                                  << 
 89 {                                              << 
 90         mkdir -p debian/source                 << 
 91                                                << 
 92         echo "3.0 (quilt)" > debian/source/for << 
 93                                                << 
 94         {                                      << 
 95                 echo "diff-ignore"             << 
 96                 echo "extend-diff-ignore = .*" << 
 97         } > debian/source/local-options        << 
 98                                                << 
 99         # Add .config as a patch               << 
100         mkdir -p debian/patches                << 
101         {                                      << 
102                 echo "Subject: Add .config"    << 
103                 echo "Author: ${maintainer}"   << 
104                 echo                           << 
105                 echo "--- /dev/null"           << 
106                 echo "+++ linux/.config"       << 
107                 diff -u /dev/null "${KCONFIG_C << 
108         } > debian/patches/config.patch        << 
109         echo config.patch > debian/patches/ser << 
110                                                << 
111         "${srctree}/scripts/package/gen-diff-p << 
112         if [ -s debian/patches/diff.patch ]; t << 
113                 sed -i "                       << 
114                         1iSubject: Add local d << 
115                         1iAuthor: ${maintainer << 
116                         1i                     << 
117                 " debian/patches/diff.patch    << 
118                                                << 
119                 echo diff.patch >> debian/patc << 
120         else                                   << 
121                 rm -f debian/patches/diff.patc << 
122         fi                                     << 
123 }                                              << 
124                                                << 
125 rm -rf debian                                  << 
126 mkdir debian                                   << 
127                                                << 
128 user=${KBUILD_BUILD_USER:-$(id -nu)}           << 
129 name=${DEBFULLNAME:-${user}}                   << 
130 if [ "${DEBEMAIL:+set}" ]; then                << 
131         email=${DEBEMAIL}                      << 
132 else                                           << 
133         buildhost=${KBUILD_BUILD_HOST:-$(hostn << 
134         email="${user}@${buildhost}"           << 
135 fi                                             << 
136 maintainer="${name} <${email}>"                << 
137                                                << 
138 while [ $# -gt 0 ]; do                         << 
139         case "$1" in                           << 
140         --need-source)                         << 
141                 gen_source                     << 
142                 shift                          << 
143                 ;;                             << 
144         *)                                     << 
145                 break                          << 
146                 ;;                             << 
147         esac                                   << 
148 done                                           << 
149                                                << 
150 # Some variables and settings used throughout      55 # Some variables and settings used throughout the script
151 version=$KERNELRELEASE                             56 version=$KERNELRELEASE
152 if [ "${KDEB_PKGVERSION:+set}" ]; then         !!  57 if [ -n "$KDEB_PKGVERSION" ]; then
153         packageversion=$KDEB_PKGVERSION            58         packageversion=$KDEB_PKGVERSION
154 else                                               59 else
155         packageversion=$(${srctree}/scripts/se !!  60         revision=$(cat .version 2>/dev/null||echo 1)
                                                   >>  61         packageversion=$version-$revision
156 fi                                                 62 fi
157 sourcename=${KDEB_SOURCENAME:-linux-upstream}  !!  63 sourcename=$KDEB_SOURCENAME
                                                   >>  64 packagename=linux-image-$version
                                                   >>  65 kernel_headers_packagename=linux-headers-$version
                                                   >>  66 dbg_packagename=$packagename-dbg
                                                   >>  67 debarch=
                                                   >>  68 set_debarch
158                                                    69 
159 if [ "$ARCH" = "um" ] ; then                       70 if [ "$ARCH" = "um" ] ; then
160         packagename=user-mode-linux            !!  71         packagename=user-mode-linux-$version
161 else                                           << 
162         packagename=linux-image                << 
163 fi                                                 72 fi
164                                                    73 
165 debarch=                                       !!  74 email=${DEBEMAIL-$EMAIL}
166 set_debarch                                    !!  75 
                                                   >>  76 # use email string directly if it contains <email>
                                                   >>  77 if echo $email | grep -q '<.*>'; then
                                                   >>  78         maintainer=$email
                                                   >>  79 else
                                                   >>  80         # or construct the maintainer string
                                                   >>  81         user=${KBUILD_BUILD_USER-$(id -nu)}
                                                   >>  82         name=${DEBFULLNAME-$user}
                                                   >>  83         if [ -z "$email" ]; then
                                                   >>  84                 buildhost=${KBUILD_BUILD_HOST-$(hostname -f 2>/dev/null || hostname)}
                                                   >>  85                 email="$user@$buildhost"
                                                   >>  86         fi
                                                   >>  87         maintainer="$name <$email>"
                                                   >>  88 fi
167                                                    89 
168 # Try to determine distribution                    90 # Try to determine distribution
169 if [ "${KDEB_CHANGELOG_DIST:+set}" ]; then     !!  91 if [ -n "$KDEB_CHANGELOG_DIST" ]; then
170         distribution=$KDEB_CHANGELOG_DIST          92         distribution=$KDEB_CHANGELOG_DIST
171 # In some cases lsb_release returns the codena     93 # In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
172 elif distribution=$(lsb_release -cs 2>/dev/nul     94 elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then
173         : # nothing to do in this case             95         : # nothing to do in this case
174 else                                               96 else
175         distribution="unstable"                    97         distribution="unstable"
176         echo >&2 "Using default distribution o     98         echo >&2 "Using default distribution of 'unstable' in the changelog"
177         echo >&2 "Install lsb-release or set \     99         echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
178 fi                                                100 fi
179                                                   101 
                                                   >> 102 mkdir -p debian/
180 echo $debarch > debian/arch                       103 echo $debarch > debian/arch
181                                                   104 
182 host_gnu=$(dpkg-architecture -a "${debarch}" - << 
183                                                << 
184 # Generate a simple changelog template            105 # Generate a simple changelog template
185 cat <<EOF > debian/changelog                      106 cat <<EOF > debian/changelog
186 $sourcename ($packageversion) $distribution; u    107 $sourcename ($packageversion) $distribution; urgency=low
187                                                   108 
188   * Custom built Linux kernel.                    109   * Custom built Linux kernel.
189                                                   110 
190  -- $maintainer  $(date -R)                       111  -- $maintainer  $(date -R)
191 EOF                                               112 EOF
192                                                   113 
                                                   >> 114 # Generate copyright file
                                                   >> 115 cat <<EOF > debian/copyright
                                                   >> 116 This is a packacked upstream version of the Linux kernel.
                                                   >> 117 
                                                   >> 118 The sources may be found at most Linux archive sites, including:
                                                   >> 119 https://www.kernel.org/pub/linux/kernel
                                                   >> 120 
                                                   >> 121 Copyright: 1991 - 2018 Linus Torvalds and others.
                                                   >> 122 
                                                   >> 123 The git repository for mainline kernel development is at:
                                                   >> 124 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
                                                   >> 125 
                                                   >> 126     This program is free software; you can redistribute it and/or modify
                                                   >> 127     it under the terms of the GNU General Public License as published by
                                                   >> 128     the Free Software Foundation; version 2 dated June, 1991.
                                                   >> 129 
                                                   >> 130 On Debian GNU/Linux systems, the complete text of the GNU General Public
                                                   >> 131 License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
                                                   >> 132 EOF
                                                   >> 133 
193 # Generate a control file                         134 # Generate a control file
194 cat <<EOF > debian/control                        135 cat <<EOF > debian/control
195 Source: $sourcename                               136 Source: $sourcename
196 Section: kernel                                   137 Section: kernel
197 Priority: optional                                138 Priority: optional
198 Maintainer: $maintainer                           139 Maintainer: $maintainer
199 Rules-Requires-Root: no                        !! 140 Build-Depends: bc, kmod, cpio
200 Build-Depends: debhelper-compat (= 12)         !! 141 Homepage: http://www.kernel.org/
201 Build-Depends-Arch: bc, bison, cpio, flex,     << 
202  gcc-${host_gnu} <!pkg.${sourcename}.nokernelh << 
203  kmod, libelf-dev:native,                      << 
204  libssl-dev:native, libssl-dev <!pkg.${sourcen << 
205  rsync                                         << 
206 Homepage: https://www.kernel.org/              << 
207                                                   142 
208 Package: $packagename-$version                 !! 143 Package: $packagename
209 Architecture: $debarch                            144 Architecture: $debarch
210 Description: Linux kernel, version $version       145 Description: Linux kernel, version $version
211  This package contains the Linux kernel, modul    146  This package contains the Linux kernel, modules and corresponding other
212  files, version: $version.                        147  files, version: $version.
213 EOF                                            << 
214                                                   148 
215 if [ "${SRCARCH}" != um ]; then                !! 149 Package: $kernel_headers_packagename
216 cat <<EOF >> debian/control                    !! 150 Architecture: $debarch
                                                   >> 151 Description: Linux kernel headers for $version on $debarch
                                                   >> 152  This package provides kernel header files for $version on $debarch
                                                   >> 153  .
                                                   >> 154  This is useful for people who need to build external modules
217                                                   155 
218 Package: linux-libc-dev                           156 Package: linux-libc-dev
219 Section: devel                                    157 Section: devel
220 Provides: linux-kernel-headers                    158 Provides: linux-kernel-headers
221 Architecture: $debarch                            159 Architecture: $debarch
222 Description: Linux support headers for userspa    160 Description: Linux support headers for userspace development
223  This package provides userspaces headers from    161  This package provides userspaces headers from the Linux kernel.  These headers
224  are used by the installed headers for GNU gli    162  are used by the installed headers for GNU glibc and other system libraries.
225 Multi-Arch: same                               << 
226 EOF                                            << 
227                                                << 
228 if is_enabled CONFIG_MODULES; then             << 
229 cat <<EOF >> debian/control                    << 
230                                                << 
231 Package: linux-headers-$version                << 
232 Architecture: $debarch                         << 
233 Build-Profiles: <!pkg.${sourcename}.nokernelhe << 
234 Description: Linux kernel headers for $version << 
235  This package provides kernel header files for << 
236  .                                             << 
237  This is useful for people who need to build e << 
238 EOF                                            << 
239 fi                                             << 
240 fi                                             << 
241                                                << 
242 if is_enabled CONFIG_DEBUG_INFO; then          << 
243 cat <<EOF >> debian/control                    << 
244                                                   163 
245 Package: linux-image-$version-dbg              !! 164 Package: $dbg_packagename
246 Section: debug                                    165 Section: debug
247 Architecture: $debarch                            166 Architecture: $debarch
248 Build-Profiles: <!pkg.${sourcename}.nokerneldb << 
249 Description: Linux kernel debugging symbols fo    167 Description: Linux kernel debugging symbols for $version
250  This package will come in handy if you need t    168  This package will come in handy if you need to debug the kernel. It provides
251  all the necessary debug symbols for the kerne    169  all the necessary debug symbols for the kernel and its modules.
252 EOF                                               170 EOF
253 fi                                             << 
254                                                   171 
255 cat <<EOF > debian/rules.vars                  !! 172 cat <<EOF > debian/rules
256 ARCH := ${ARCH}                                !! 173 #!$(command -v $MAKE) -f
257 KERNELRELEASE := ${KERNELRELEASE}              << 
258 EOF                                            << 
259                                                   174 
260 cp "${srctree}/scripts/package/debian/copyrigh !! 175 build:
261 cp "${srctree}/scripts/package/debian/rules" d !! 176         \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC=
                                                   >> 177 
                                                   >> 178 binary-arch:
                                                   >> 179         \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC= intdeb-pkg
                                                   >> 180 
                                                   >> 181 clean:
                                                   >> 182         rm -rf debian/*tmp debian/files
                                                   >> 183         \$(MAKE) clean
                                                   >> 184 
                                                   >> 185 binary: binary-arch
                                                   >> 186 EOF
262                                                   187 
263 exit 0                                            188 exit 0
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php