nvidia: script for downloading and building nvidia driver (#270)

Based on rpmfusion packages. This script downloads needed packages and rebuild
kernel module for Qubes dom0.
release2 mm_deb3a1cc
Marek Marczykowski 13 years ago
parent c0d7a2b376
commit deb3a1cc25

@ -0,0 +1,2 @@
rpm/
*.src.rpm

@ -0,0 +1,7 @@
rpms:
./nvidia_build.sh
rpm --addsign rpm/x86_64/kmod-nvidia-*.rpm
clean:
rm *.src.rpm
rm -rf rpm/

@ -0,0 +1,126 @@
#!/bin/sh
cd $(dirname $0)
CACHEDIR=$(mktemp -d ${TMPDIR:-/tmp}/yumcache.XXXXXX)
releasever=13
basearch=x86_64
yumconf=$(mktemp ${TMPDIR:-/tmp}/yum.conf.XXXXXX)
trap "rm -f $yumconf; rm -rf $CACHEDIR" EXIT
# Done this way to easier replace some values (just modify variable)
cat > $yumconf <<EOF
[main]
cachedir=$CACHEDIR
keepcache=0
gpgcheck=1
plugins=0
reposdir=
tsflags=nodocs
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Nonfree
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-free-fedora-$releasever-primary
[rpmfusion-free-updates]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-free-fedora-$releasever-primary
[rpmfusion-free-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Source
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-free-fedora-$releasever-primary
[rpmfusion-free-updates-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/SRPMS/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-free-fedora-$releasever-primary
[rpmfusion-nonfree]
name=RPM Fusion for Fedora $releasever - Nonfree
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/$basearch/os/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-nonfree-fedora-$releasever-primary
[rpmfusion-nonfree-updates]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-nonfree-fedora-$releasever-primary
[rpmfusion-nonfree-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-nonfree-fedora-$releasever-primary
[rpmfusion-nonfree-updates-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/SRPMS/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file://$PWD/../keys/rpmfusion-nonfree-fedora-$releasever-primary
EOF
mkdir -p rpm/$basearch
yumdownloader -c $yumconf --destdir=rpm/$basearch --resolve -x 'kmod-nvidia-*' xorg-x11-drv-nvidia livna-config-display
yumdownloader -c $yumconf --source nvidia-kmod
if rpm -K *.rpm rpm/$basearch/*.rpm | grep -v pgp; then
echo "ERROR: Unverified/Invalid packages found! Aborting"
exit 1
fi
if [ $1 ]; then
KERNEL_VER=$1
else
# Try to find kernel version
KERNEL_PKG=`ls ../yum/qubes-dom0/rpm/ |grep kernel`
if [ "$KERNEL_PKG" ]; then
KERNEL_VER=$(echo $KERNEL_PKG | sed -e 's/kernel-//g;s/\.rpm//g')
else
echo "ERROR: Cannot find version of kernel for Qubes Dom0, provide it as parameter"
exit 1
fi
fi
if ! rpm -q kernel-devel-$KERNEL_VER; then
echo "ERROR: Install kernel-devel package first!"
exit 1
fi
rpmbuild -D "kernels $KERNEL_VER" --rebuild nvidia-kmod-*.src.rpm
# Unfortunately --define _rpmdir doesn't work with --rebuild
RPMDIR=`rpm -E '%_rpmdir'`
mv $RPMDIR/$basearch/kmod-nvidia-$KERNEL_VER*rpm rpm/$basearch/

@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQINBEr/7bcBEADR9g8j2q5iI+NUJ6ZHS5yht56nPP4I9US/HcPs6PsozMtT0H3j
eLA+nH6DSn9rVUTS84anaUB6uSf/yzd5yUibnw4XZ6ZE7MaEjM/GIRymRqkV7sIX
ZTDU88mv3KIHbjC611iROfkH7l8Dl3aWRWOp1XY/G8LIxVC5ExzSFHRI02VXo6nM
UpnxEoysyvcVsm+gmnnRYDnwN7edYt0M4vHeRcedKu8uhzqw2dBwiSzZssCIZR7/
qejEJQwSZuEjf7hN7iGIhjQcfrNCxHdcGk8/1tZL2XnDZe/Uxe28nfUTe5wGfufY
Y70sr3Bnx0eJc/nsGH7RHSBSII2NNXZPmvCSMx0wfNUxq37kok8XkUwL+crV/YIw
7lcUWTEDY1Y3VAto1uF5EXdrWrSjhmArVMOxiGDYCUyyaBZw84tlI0wq/PKeHYuy
nDK6JNGa+ZN9Hr/houp7wqxoXOv6SfnAvTGKH0QAsSSAiPQQzDDZReT+rDw+PKmD
Y+TYVMDoh/hafSFmGOAjShoIl/1PBwy+U0ncMelMvwB0kMR95ygheFe29hDYJH06
hiX6H9kBTZtvImsKwEwOiPozA1UZdknvyP+2cHcoOClg+uZFeq7aFJ/E5Fw72RO9
iy8YFeQoN84QAQpOm1rl3GGnGFRLPEGGi92KPXUvvHvaP+cqjGPnFtBhbQARAQAB
tFZSUE0gRnVzaW9uIG5vbmZyZWUgcmVwb3NpdG9yeSBmb3IgRmVkb3JhICgxMykg
PHJwbWZ1c2lvbi1idWlsZHN5c0BsaXN0cy5ycG1mdXNpb24ub3JnPokCNgQTAQIA
IAUCSv/ttwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJECvvL9IkJbKEGksQ
AIAK65TxLFj+F4JjRFyd1YvhEUbJKoTpgZ9r4Sz7hcVDOdvnesHugcERvzGrDgd4
XrmKd0bojBHPTQYROUQ6tu85KdYABZOQTOuB6vKxXVbZgvfNqJzuqsMUklma6uGo
L0Cy9W6H3YmzmtaupuxCW5HBvWzN3OjXH7KQmW4enH8+2qy1p1mDSHyFuBJoF6UE
8Jf0q9dsjYArTrTbGFl6n8vrdGCbKHXhGW9J8gsyOIXo8yZzYEkytujjydtr3R/9
A8LpLeHNiPGU/hnNPHVYZPnYcT7XLy8uhwTgBvhglCVlp9ouZjhPomfqw/qNmjWh
zDY7lYtEIKeywweOGw9Ft/WCgFlB7X3V4OLK3P2c9HGoAQ1WAohU5Y8gpqyrSt0d
fs7PrlHoZbYG7bEPc3x9VXAcnMc+FGYP7X1J/lNXWNvqaBrBp8dB73FcNHJOGfa8
x25V8Tnq1aqCwUS+BQQCSdz637PZrx6KjcTRRLuiEU1KiNeCgFJP6jyffzkbpLPl
PtNTrD76qoQfNPZqQKlDTwcIii6Yo87SWOvXBZvokrArPxWTFs9fcuHXBS2axHg3
cLRUC03TASCDSz6WtygouphUBAtDgSC71DLlCbIN8EmXN6C0sSB5Ywnzdsy7yIT2
2yrVZna0hI/wBR+AqW8jszgJ5JVdEDftqSAKBUxXKela
=3/KO
-----END PGP PUBLIC KEY BLOCK-----
Loading…
Cancel
Save