02 Apr, 2009

1 commit


07 Mar, 2009

2 commits

  • 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:

    echo "%files"
    echo '%defattr (-, root, root)'
    echo "%dir /lib/modules"
    echo "/lib/modules/$KERNELRELEASE"
    echo "/lib/firmware"
    echo "/boot/*"
    echo ""

    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 modules.
    This conflicts with where the spec file assumes they are going because of the
    mis-matching KERNELRELEASE versions.

    + INSTALL_MOD_PATH=/var/tmp/kernel-2.6.29rc4tip01479g5d85422-root
    + make -j16 modules_install
    INSTALL crypto/aead.ko
    INSTALL crypto/cbc.ko
    INSTALL crypto/chainiv.ko
    INSTALL crypto/crc32c.ko
    INSTALL crypto/crypto_algapi.ko
    INSTALL crypto/crypto_blkcipher.ko
    INSTALL crypto/crypto_hash.ko
    INSTALL crypto/cryptomgr.ko
    INSTALL crypto/ecb.ko
    INSTALL crypto/eseqiv.ko
    INSTALL crypto/krng.ko
    INSTALL crypto/md5.ko
    INSTALL crypto/pcbc.ko
    INSTALL crypto/rng.ko
    INSTALL drivers/block/cciss.ko
    INSTALL drivers/hid/hid-dummy.ko
    INSTALL drivers/scsi/iscsi_tcp.ko
    INSTALL drivers/scsi/libiscsi.ko
    INSTALL drivers/scsi/libiscsi_tcp.ko
    INSTALL drivers/scsi/scsi_transport_iscsi.ko
    INSTALL drivers/scsi/scsi_wait_scan.ko
    INSTALL fs/lockd/lockd.ko
    INSTALL fs/nfs/nfs.ko
    INSTALL fs/nfsd/nfsd.ko
    INSTALL lib/libcrc32c.ko
    INSTALL net/sunrpc/sunrpc.ko
    DEPMOD 2.6.29-rc4-tip
    + cp arch/x86/boot/bzImage
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinuz-2.6.29-rc4-tip-01479-g5d85422
    + cp System.map
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/System.map-2.6.29-rc4-tip-01479-g5d85422
    + cp .config
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/config-2.6.29-rc4-tip-01479-g5d85422
    + cp vmlinux vmlinux.orig
    + bzip2 -9 vmlinux
    + mv vmlinux.bz2
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinux-2.6.29-rc4-tip-01479-g5d85422.bz2
    + mv vmlinux.orig vmlinux
    + /usr/lib/rpm/brp-compress
    Processing files: kernel-2.6.29rc4tip01479g5d85422-2
    error: File not found:
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422

    RPM build errors:
    File not found:
    /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422
    make[1]: *** [rpm] Error 1
    make: *** [rpm] Error 2

    I have tested this patch on git -tip, Linus' git tree, and the kernel.org tar files, both
    with and without CONFIG_LOCALVERSION_AUTO=y.

    Signed-off-by: Josh Hunt
    Signed-off-by: Sam Ravnborg
    ----

    Josh Hunt
     
  • The contents of the %clean section in mkspec is currently commented
    out leaving RPM_BUILD_ROOT and its contents on the build machine.
    This patch removes it once the rpm build process is complete.

    Signed-off-by: Josh Hunt
    Signed-off-by: Sam Ravnborg

    Josh Hunt
     

15 Feb, 2009

1 commit

  • We are building an automated system to test kernels weekly and need to
    provide an rpm to our QA dept. We would like to use the ability to create
    kernel rpms already in the kernel's Makefile, but need the vmlinux file
    included in the rpm for later debugging.

    This patch adds a compressed vmlinux to the kernel rpm when doing a
    make rpm-pkg or binrpm-pkg and upon install places the vmlinux file in /boot.

    Signed-off-by: Josh Hunt
    Signed-off-by: Sam Ravnborg

    Josh Hunt
     

06 Dec, 2008

1 commit


04 Dec, 2008

1 commit


10 Nov, 2008

1 commit


30 Oct, 2008

2 commits

  • Currently, if we do a 'make rpm-pkg' without the _smp_mflags rpm macro
    defined, the build fails with:

    [snip]
    Executing(%build): /bin/bash -e /var/tmp/rpm-tmp.67959
    + umask 022
    + cd /home/jk/devel/kernel-snapshot/rpm/BUILD
    + cd kernel-2.6.26
    + make clean
    + make '%{_smp_mflags}'
    make[3]: *** No rule to make target `%{_smp_mflags}'. Stop.
    error: Bad exit status from /var/tmp/rpm-tmp.67959 (%build)

    This change uses the 'null if not set' reference to the _smp_mflags
    macro instead.

    Signed-off-by: Jeremy Kerr
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Jeremy Kerr
     
  • This is patch to fix incorrect mkspec script to make rpm correctly at 2.6.27 vanilla kernel.
    This is regression in 2.6.27. 2.6.26 make rpm work good.
    In 2.6.27 'make rpm' say error from rpmbuild "Many unpacked files (*.fw)."

    Signed-off-by: Evgeniy Manachkin
    Acked-by: Alan Cox
    Signed-off-by: Sam Ravnborg
    Cc: Stable

    Evgeniy Manachkin
     

09 Feb, 2008

1 commit


29 Jan, 2008

2 commits


18 Oct, 2007

1 commit

  • http://bugzilla.kernel.org/show_bug.cgi?id=8941

    Current Debian's kernel-modules depend on matching linux-image-$version, though
    Linux's make deb-pkg build a .deb that 'Provides: kernel-image-$version' only.
    The following patch adds the Debian-compliant 'Provides', leaving the default
    one; hopely this will make way all happy.

    Signed-off-by: paolo
    Signed-off-by: Sam Ravnborg

    bugme-daemon@bugzilla.kernel.org
     

22 May, 2007

1 commit


25 Sep, 2006

1 commit


09 Jun, 2006

1 commit

  • The default target for most powerpc platforms is zImage. The
    zImage however is in arch/powerpc/boot and the mkspec script
    was set up to get the kernel from the top level of the kernel
    tree. This patch copies vmlinux to arch/powerpc/boot and then
    copies the kernel to the tmp directory so the rpm can be made.

    Signed-off-by: Mike Wolf
    Signed-off-by: Sam Ravnborg

    Mike Wolf
     

09 Mar, 2006

1 commit


06 Mar, 2006

1 commit

  • The kbuild system takes advantage of an incorrect behavior in GNU make.
    Once this behavior is fixed, all files in the kernel rebuild every time,
    even if nothing has changed. This patch ensures kbuild works with both
    the incorrect and correct behaviors of GNU make.

    For more details on the incorrect behavior, see:

    http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html

    Changes in this patch:
    - Keep all targets that are to be marked .PHONY in a variable, PHONY.
    - Add .PHONY: $(PHONY) to mark them properly.
    - Remove any $(PHONY) files from the $? list when determining whether
    targets are up-to-date or not.

    Signed-off-by: Paul Smith
    Signed-off-by: Sam Ravnborg

    Paul Smith
     

02 Jan, 2006

1 commit

  • Fix out-of-tree builds for the tar-pkg targets

    When I wrote the buildtar script, I didn't even think about
    out-of-tree builds because I didn't use these back then. This patch
    throughoutly uses ${objtree} instead of `pwd`.

    Also, the kernel version is no longer manually built. Instead, it will
    properly use $KERNELRELEASE . Installing modules is only done if
    CONFIG_MODULES is set.

    Signed-off-by: Jan-Benedict Glaw
    Signed-off-by: Sam Ravnborg

    Jan-Benedict Glaw
     

22 Jul, 2005

1 commit


15 Jul, 2005

3 commits


14 Jul, 2005

2 commits


13 Jul, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds