create_package() function tries to resolve used architecture for everry package. Split the setting the architecture to a new function, set_debarch(), called once on startup. This allows using debarch from other parts of script as needed. v2: Follow Michals suggestion on setting variables at top scope and also setting the fallback $debarch in the new function
Unified · Split
| @@ -25,8 +25,13 @@ create_package() { · 24 unmodified lines | ||
| 25 | 25 | chown -R root:root "$pdir" |
| 26 | 26 | chmod -R go-w "$pdir" |
| 27 | 27 | |
| 28 | + # Create the package | |
| 29 | + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" | |
| 30 | + dpkg --build "$pdir" .. | |
| 31 | +} | |
| 32 | + | |
| 33 | +set_debarch() { | |
| 28 | 34 | # Attempt to find the correct Debian architecture |
| 29 | − local forcearch="" debarch="" | |
| 30 | 35 | case "$UTS_MACHINE" in |
| 31 | 36 | i386|ia64|alpha) |
| 32 | 37 | debarch="$UTS_MACHINE" ;; |
| @@ -47,6 +52,7 @@ create_package() { · 14 unmodified lines | ||
| 47 | 52 | arm*) |
| 48 | 53 | debarch=arm$(grep -q CONFIG_AEABI=y $KCONFIG_CONFIG && echo el || true) ;; |
| 49 | 54 | *) |
| 55 | + debarch=$(dpkg --print-architecture) | |
| 50 | 56 | echo "" >&2 |
| 51 | 57 | echo "** ** ** WARNING ** ** **" >&2 |
| 52 | 58 | echo "" >&2 |
| @@ -59,13 +65,8 @@ create_package() { · 6 unmodified lines | ||
| 59 | 65 | if [ -n "$KBUILD_DEBARCH" ] ; then |
| 60 | 66 | debarch="$KBUILD_DEBARCH" |
| 61 | 67 | fi |
| 62 | − if [ -n "$debarch" ] ; then | |
| 63 | − forcearch="-DArchitecture=$debarch" | |
| 64 | − fi | |
| 68 | + forcearch="-DArchitecture=$debarch" | |
| 65 | 69 | |
| 66 | − # Create the package | |
| 67 | − dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" | |
| 68 | − dpkg --build "$pdir" .. | |
| 69 | 70 | } |
| 70 | 71 | |
| 71 | 72 | # Some variables and settings used throughout the script |
| @@ -86,6 +87,9 @@ fwpackagename=linux-firmware-image-$version · 14 unmodified lines | ||
| 86 | 87 | kernel_headers_packagename=linux-headers-$version |
| 87 | 88 | libc_headers_packagename=linux-libc-dev |
| 88 | 89 | dbg_packagename=$packagename-dbg |
| 90 | +debarch= | |
| 91 | +forcearch= | |
| 92 | +set_debarch | |
| 89 | 93 | |
| 90 | 94 | if [ "$ARCH" = "um" ] ; then |
| 91 | 95 | packagename=user-mode-linux-$version |