• Josh Hunt's avatar
    kbuild: fix 'make rpm' when CONFIG_LOCALVERSION_AUTO=y and using SCM tree · b925dbfe
    Josh Hunt authored
    Running 'make rpm' fails when CONFIG_LOCALVERSION_AUTO=y and using a kernel source
    tree under SCM.  This is due to KERNELRELEASE being different when the initial make
    is run and when make is run from rpmbuild.
    
    mkspec creates kernel.spec using KERNELRELEASE:
    
    <mkspec>
    echo "%files"
    echo '%defattr (-, root, root)'
    echo "%dir /lib/modules"
    echo "/lib/modules/$KERNELRELEASE"
    echo "/lib/firmware"
    echo "/boot/*"
    echo ""
    </mkspec>
    
    When CONFIG_LOCALVERSION_AUTO=y scripts/setlocalversion is called and grabs any
    additional version info from SCM.  Next, the srctree is tarred up and SCM
    information is excluded.
    
    rpmbuild reruns make and in the process generates a new include/config/kernel.release
    and thus a new KERNELRELEASE.  However this time the SCM information is gone so
    KERNELRELEASE no longer has the additional version information.  When "make modules_install"
    runs, it uses the new KERNELRELEASE value to determine where to install the m...
    b925dbfe
Makefile 3.41 KB