/usr/share/kernel-wedge/commands/build-arch is in kernel-wedge 2.82ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #!/bin/sh
# This is a wrapper script to build a specific architecture.
#
# It takes the architecture to be built as parameter and that architecture
# needs to be listed in kernel-versions.
# It expects to have the unpacked kernel packages for the architecture in
# e.g. ../alpha. modules.dep files have to be put in there too if they are
# not shipped in the .deb (varies)
#
# dpkg-cross must be installed, but you do not need a cross compiler.
set -e
buildpackage () {
dpkg-buildpackage -d -us -uc -rfakeroot -tc -I $@
}
# Build source package. Binaries are built below.
buildpackage -S
# Directory for stubs, added to PATH.
arch="$1"
trap 'rm -rf $tmpdir' EXIT
tmpdir=$(tempfile)
rm $tmpdir
mkdir $tmpdir
PATH=$PATH:$tmpdir
export PATH
if [ -z "$arch" ]; then
echo "** Error: architecture not specified"
exit 1
fi
if ! cut -d ' ' -f 1 kernel-versions | grep -v "^$arch$"; then
echo "** Error: arch $arch not listed in kernel-versions"
exit 1
fi
if [ "$arch" != "`dpkg-architecture -qDEB_BUILD_ARCH`" ]; then
# Generate cross-compiler stub, this is needed to get the
# debian build system to cross-build the given arch w/o a
# real cross compiler.
CC=$tmpdir/$arch-linux-gcc
echo "#!/bin/sh" > $CC
echo "echo $arch-linux" >> $CC
chmod +x $CC
# Not only must it be in the path, but CC needs to be
# exported as well.
export CC
else
# native build
unset CC
fi
if [ -d ../$arch ]; then
export SOURCEDIR=`pwd`/../$arch
else
unset SOURCEDIR
fi
if [ "$arch" != "`dpkg-architecture -qDEB_BUILD_ARCH`" ]; then
if [ -z "$SOURCEDIR" ]; then
echo "** Warning: no SOURCEDIR for arch $arch" >&2
fi
buildpackage -b -a$arch
else
# native build
buildpackage
fi
|