You are not logged in.

#1 2006-11-14 16:44:52

Leffe
Member
Registered: 2006-05-30
Posts: 47

PKGBUILDs that generate kernel modules

This PKGBUILD creates a kernel module which is already in the kernel. Is simply renaming it the correct choice?

Should I use uname to find out the current kernel? I don't think it matters what current kernel it compiles against.

What to do about moddep?  The new modules aren't found unless it's run, and ... ah, I'll put it in the install file, as it will be run by root.

Is it a good idea to have both the libdrm fork and the kernel module in the same package?  I can't see why not.

pkgname=nouveau-git
pkgver=20061114
pkgrel=1
pkgdesc="Open source 3D driver for nVidia cards"
url="http://noveau.freedesktop.org/wiki/"
license="shurg"
conflicts=(libdrm)
provides=(libdrm)
depends=('glibc')
makedepends=('git')
source=()
md5sums=()

build() {
    if [ -d $startdir/src/drm ]; then
        cd $startdir/src/drm && git-pull origin || return 1
    else
        cd $startdir/src && git clone git://anongit.freedesktop.org/git/mesa/drm/ || return 1
    fi
    cp -Rl $startdir/src/drm $startdir/src/drm-build
    cd $startdir/src/drm-build && git checkout nouveau-1 || return 1
    ./autogen.sh || return 1
    ./configure --prefix=/usr || return 1
    make || return 1
    make DESTDIR=$startdir/pkg install || return 1
    cd linux-core || return 1
    make || return 1

    if [ -d $startdir/src/drm ]; then
        cd $startdir/src/xf86-video-nouveau && git-pull origin || return 1
    else
        cd $startdir/src && git clone git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau/ || return 1
    fi
    cp -Rl $startdir/src/xf86-video-nouveau $startdir/src/xf86-video-nouveau-build
    cd $startdir/src/xf86-video-nouveau-build || return 1
    cp $startdir/src/drm-build/shared-core/nouveau_drm.h src || return 1
    ./autogen.sh || return 1
    # This one fails, if it fails for real, one of the lines below will fail.
    make

    install -D -m644 $startdir/src/xf86-video-nouveau-build/src/.libs/nouveau_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers/nouveau_drv.so || return 1
    install -D -m644 $startdir/src/drm-build/linux-core/drm.ko $startdir/pkg/lib/modules/2.6.17-beyond/kernel/drivers/char/drm/drm-nouveau.ko || return 1
    install -D -m644 $startdir/src/drm-build/linux-core/nouveau.ko $startdir/pkg/lib/modules/2.6.17-beyond/kernel/drivers/video/nouveau.ko || return 1

    find $startdir/pkg -type f -name '*.la' -exec rm {} ;
}

Offline

Board footer

Powered by FluxBB