~ [ 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.17.19)


  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 # Try to determine maintainer and email values
166 set_debarch                                    !!  75 if [ -n "$DEBEMAIL" ]; then
                                                   >>  76        email=$DEBEMAIL
                                                   >>  77 elif [ -n "$EMAIL" ]; then
                                                   >>  78        email=$EMAIL
                                                   >>  79 else
                                                   >>  80        email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
                                                   >>  81 fi
                                                   >>  82 if [ -n "$DEBFULLNAME" ]; then
                                                   >>  83        name=$DEBFULLNAME
                                                   >>  84 elif [ -n "$NAME" ]; then
                                                   >>  85        name=$NAME
                                                   >>  86 else
                                                   >>  87        name="Anonymous"
                                                   >>  88 fi
                                                   >>  89 maintainer="$name <$email>"
167                                                    90 
168 # Try to determine distribution                    91 # Try to determine distribution
169 if [ "${KDEB_CHANGELOG_DIST:+set}" ]; then     !!  92 if [ -n "$KDEB_CHANGELOG_DIST" ]; then
170         distribution=$KDEB_CHANGELOG_DIST          93         distribution=$KDEB_CHANGELOG_DIST
171 # In some cases lsb_release returns the codena     94 # In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
172 elif distribution=$(lsb_release -cs 2>/dev/nul     95 elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then
173         : # nothing to do in this case             96         : # nothing to do in this case
174 else                                               97 else
175         distribution="unstable"                    98         distribution="unstable"
176         echo >&2 "Using default distribution o     99         echo >&2 "Using default distribution of 'unstable' in the changelog"
177         echo >&2 "Install lsb-release or set \    100         echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
178 fi                                                101 fi
179                                                   102 
                                                   >> 103 mkdir -p debian/
180 echo $debarch > debian/arch                       104 echo $debarch > debian/arch
181                                                   105 
182 host_gnu=$(dpkg-architecture -a "${debarch}" - << 
183                                                << 
184 # Generate a simple changelog template            106 # Generate a simple changelog template
185 cat <<EOF > debian/changelog                      107 cat <<EOF > debian/changelog
186 $sourcename ($packageversion) $distribution; u    108 $sourcename ($packageversion) $distribution; urgency=low
187                                                   109 
188   * Custom built Linux kernel.                    110   * Custom built Linux kernel.
189                                                   111 
190  -- $maintainer  $(date -R)                       112  -- $maintainer  $(date -R)
191 EOF                                               113 EOF
192                                                   114 
                                                   >> 115 # Generate copyright file
                                                   >> 116 cat <<EOF > debian/copyright
                                                   >> 117 This is a packacked upstream version of the Linux kernel.
                                                   >> 118 
                                                   >> 119 The sources may be found at most Linux archive sites, including:
                                                   >> 120 https://www.kernel.org/pub/linux/kernel
                                                   >> 121 
                                                   >> 122 Copyright: 1991 - 2018 Linus Torvalds and others.
                                                   >> 123 
                                                   >> 124 The git repository for mainline kernel development is at:
                                                   >> 125 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
                                                   >> 126 
                                                   >> 127     This program is free software; you can redistribute it and/or modify
                                                   >> 128     it under the terms of the GNU General Public License as published by
                                                   >> 129     the Free Software Foundation; version 2 dated June, 1991.
                                                   >> 130 
                                                   >> 131 On Debian GNU/Linux systems, the complete text of the GNU General Public
                                                   >> 132 License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
                                                   >> 133 EOF
                                                   >> 134 
193 # Generate a control file                         135 # Generate a control file
194 cat <<EOF > debian/control                        136 cat <<EOF > debian/control
195 Source: $sourcename                               137 Source: $sourcename
196 Section: kernel                                   138 Section: kernel
197 Priority: optional                                139 Priority: optional
198 Maintainer: $maintainer                           140 Maintainer: $maintainer
199 Rules-Requires-Root: no                        !! 141 Build-Depends: bc, kmod, cpio
200 Build-Depends: debhelper-compat (= 12)         !! 142 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                                                   143 
208 Package: $packagename-$version                 !! 144 Package: $packagename
209 Architecture: $debarch                            145 Architecture: $debarch
210 Description: Linux kernel, version $version       146 Description: Linux kernel, version $version
211  This package contains the Linux kernel, modul    147  This package contains the Linux kernel, modules and corresponding other
212  files, version: $version.                        148  files, version: $version.
213 EOF                                            << 
214                                                   149 
215 if [ "${SRCARCH}" != um ]; then                !! 150 Package: $kernel_headers_packagename
216 cat <<EOF >> debian/control                    !! 151 Architecture: $debarch
                                                   >> 152 Description: Linux kernel headers for $version on $debarch
                                                   >> 153  This package provides kernel header files for $version on $debarch
                                                   >> 154  .
                                                   >> 155  This is useful for people who need to build external modules
217                                                   156 
218 Package: linux-libc-dev                           157 Package: linux-libc-dev
219 Section: devel                                    158 Section: devel
220 Provides: linux-kernel-headers                    159 Provides: linux-kernel-headers
221 Architecture: $debarch                            160 Architecture: $debarch
222 Description: Linux support headers for userspa    161 Description: Linux support headers for userspace development
223  This package provides userspaces headers from    162  This package provides userspaces headers from the Linux kernel.  These headers
224  are used by the installed headers for GNU gli    163  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                                                   164 
245 Package: linux-image-$version-dbg              !! 165 Package: $dbg_packagename
246 Section: debug                                    166 Section: debug
247 Architecture: $debarch                            167 Architecture: $debarch
248 Build-Profiles: <!pkg.${sourcename}.nokerneldb << 
249 Description: Linux kernel debugging symbols fo    168 Description: Linux kernel debugging symbols for $version
250  This package will come in handy if you need t    169  This package will come in handy if you need to debug the kernel. It provides
251  all the necessary debug symbols for the kerne    170  all the necessary debug symbols for the kernel and its modules.
252 EOF                                               171 EOF
253 fi                                             << 
254                                                   172 
255 cat <<EOF > debian/rules.vars                  !! 173 cat <<EOF > debian/rules
256 ARCH := ${ARCH}                                !! 174 #!$(command -v $MAKE) -f
257 KERNELRELEASE := ${KERNELRELEASE}              << 
258 EOF                                            << 
259                                                   175 
260 cp "${srctree}/scripts/package/debian/copyrigh !! 176 build:
261 cp "${srctree}/scripts/package/debian/rules" d !! 177         \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC=
                                                   >> 178 
                                                   >> 179 binary-arch:
                                                   >> 180         \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC= intdeb-pkg
                                                   >> 181 
                                                   >> 182 clean:
                                                   >> 183         rm -rf debian/*tmp debian/files
                                                   >> 184         \$(MAKE) clean
                                                   >> 185 
                                                   >> 186 binary: binary-arch
                                                   >> 187 EOF
262                                                   188 
263 exit 0                                            189 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