lkml.org 
[lkml]   [2010]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] kbuild, deb-pkg: select userland architectire based on UTS_MACHINE
    Date
    Instead of creating the debian package for the compiling userland,
    create it for a userland matching the kernel thats being compiled.

    This patch supports all Lenny release architectures,
    and Linux-based architecture candidates for Squeeze.

    If it can't find a proper Debian userspace it displays a warning,
    and fallback to let deb-gencontrol use the host's userspace arch.

    Eg. with this patch the following make command:

    make ARCH=i386 deb-pkg

    will output an i386 Debian package instead of an amd64 one,
    when run on an amd64 machine.

    Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz>
    ---
    scripts/package/builddeb | 33 ++++++++++++++++++++++++++++++++-
    1 files changed, 32 insertions(+), 1 deletions(-)

    diff --git a/scripts/package/builddeb b/scripts/package/builddeb
    index 5f1e2fc..1df1cc0 100644
    --- a/scripts/package/builddeb
    +++ b/scripts/package/builddeb
    @@ -25,8 +25,39 @@ create_package() {
    chown -R root:root "$pdir"
    chmod -R go-w "$pdir"

    + # Attempt to find the correct Debian architecture
    + local forcearch="" debarch=""
    + case "$UTS_MACHINE" in
    + i386|ia64|alpha|hppa)
    + debarch="$UTS_MACHINE" ;;
    + x86_64)
    + debarch=amd64 ;;
    + sparc*)
    + debarch=sparc ;;
    + s390*)
    + debarch=s390 ;;
    + ppc*)
    + debarch=powerpc ;;
    + mips*)
    + debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;;
    + arm*)
    + debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;;
    + *)
    + echo "" >&2
    + echo "** ** ** WARNING ** ** **" >&2
    + echo "" >&2
    + echo "Your architecture doesn't have it's equivalent" >&2
    + echo "Debian userspace architecture defined!" >&2
    + echo "Falling back to using your current userspace instead!" >&2
    + echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
    + echo "" >&2
    + esac
    + if [ -n "$debarch" ] ; then
    + forcearch="-DArchitecture=$debarch"
    + fi
    +
    # Create the package
    - dpkg-gencontrol -isp -p$pname -P"$pdir"
    + dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
    dpkg --build "$pdir" ..
    }

    --
    1.7.2.3


    \
     
     \ /
      Last update: 2010-11-05 13:35    [W:0.020 / U:148.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site