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.
This commit is contained in:
parent
c0d7a2b376
commit
deb3a1cc25
2
3rd-party-packages/.gitignore
vendored
Normal file
2
3rd-party-packages/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
rpm/
|
||||
*.src.rpm
|
7
3rd-party-packages/Makefile
Normal file
7
3rd-party-packages/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
rpms:
|
||||
./nvidia_build.sh
|
||||
rpm --addsign rpm/x86_64/kmod-nvidia-*.rpm
|
||||
|
||||
clean:
|
||||
rm *.src.rpm
|
||||
rm -rf rpm/
|
126
3rd-party-packages/nvidia_build.sh
Executable file
126
3rd-party-packages/nvidia_build.sh
Executable file
@ -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/
|
30
keys/rpmfusion-nonfree-fedora-13-primary
Normal file
30
keys/rpmfusion-nonfree-fedora-13-primary
Normal file
@ -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…
Reference in New Issue
Block a user