mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-10 06:24:37 +08:00
Cleanup
This commit is contained in:
parent
e42cb73e4b
commit
57ee578694
@ -1,70 +0,0 @@
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=nvidia-96xx-utils
|
||||
pkgver=96.43.20
|
||||
pkgrel=2
|
||||
pkgdesc="NVIDIA drivers utilities and libraries, 96xx branch."
|
||||
arch=('i686' 'x86_64')
|
||||
[ "$CARCH" = "i686" ] && ARCH=x86
|
||||
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
|
||||
url="http://www.nvidia.com/"
|
||||
depends=('xorg-server')
|
||||
optdepends=('gtk2: nvidia-settings' 'pkgconfig: nvidia-xconfig')
|
||||
conflicts=('libgl')
|
||||
provides=('libgl')
|
||||
license=('custom')
|
||||
install=nvidia.install
|
||||
options=(!strip)
|
||||
source=("http://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run")
|
||||
md5sums=('875cc011385ea26ab5edd54a9b65a003')
|
||||
[ "$CARCH" = "x86_64" ] && md5sums=('df3c87005487bdf54a6c5b783ff373db')
|
||||
|
||||
build() {
|
||||
cd $srcdir
|
||||
sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
|
||||
cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
|
||||
|
||||
mkdir -p $pkgdir/usr/{lib,bin,share/applications,share/pixmaps,share/man/man1}
|
||||
mkdir -p $pkgdir/usr/lib/xorg/modules/{extensions,drivers}
|
||||
mkdir -p $pkgdir/usr/share/licenses/nvidia-96xx/
|
||||
|
||||
install lib/{libGLcore,libGL,libnvidia-cfg,tls/libnvidia-tls}.so.${pkgver} \
|
||||
$pkgdir/usr/lib/
|
||||
install -m644 share/man/man1/* $pkgdir/usr/share/man/man1/
|
||||
rm $pkgdir/usr/share/man/man1/nvidia-installer.1.gz
|
||||
install X11R6/lib/libXv* $pkgdir/usr/lib/
|
||||
install -m644 share/applications/nvidia-settings.desktop $pkgdir/usr/share/applications/
|
||||
# fix nvidia .desktop file
|
||||
sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
|
||||
install -m644 share/pixmaps/nvidia-settings.png $pkgdir/usr/share/pixmaps/
|
||||
install X11R6/lib/modules/drivers/nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers
|
||||
install X11R6/lib/modules/extensions/libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions
|
||||
install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $pkgdir/usr/bin/
|
||||
cd $pkgdir/usr/lib/
|
||||
ln -s libGL.so.$pkgver libGL.so
|
||||
ln -s libGL.so.$pkgver libGL.so.1
|
||||
ln -s libGLcore.so.$pkgver libGLcore.so.1
|
||||
ln -s libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1
|
||||
ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so.1
|
||||
ln -s libXvMCNVIDIA.so.$pkgver libXvMCNVIDIA_dynamic.so.1
|
||||
|
||||
cd $pkgdir/usr/lib/xorg/modules/extensions
|
||||
ln -s libglx.so.$pkgver libglx.so
|
||||
|
||||
install -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $pkgdir/usr/share/licenses/nvidia-96xx/
|
||||
ln -s nvidia-96xx $startdir/pkg/usr/share/licenses/nvidia-96xx-utils
|
||||
|
||||
install -D -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README.txt $pkgdir/usr/share/doc/nvidia-96xx/README
|
||||
|
||||
find $pkgdir/usr -type d -exec chmod 755 {} \;
|
||||
|
||||
# Blacklist nouveau since 2.6.33
|
||||
#mkdir -p $pkgdir/etc/modprobe.d/ || return 1
|
||||
#echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf || return 1
|
||||
}
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
post_install() {
|
||||
echo By using this package you accept the NVIDIA license,
|
||||
echo which has been installed in /usr/share/licenses/nvidia/LICENSE
|
||||
echo If you do not accept this license, you must remove the package immediately.
|
||||
echo Dont forget to update your /etc/X11/xorg.conf
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# Find the kernel name inside the chroot
|
||||
_extramodules=extramodules-`pacman -Q linux | cut -c7-9 | sed 's/linux //g'`-CHAKRA
|
||||
_kver="$(cat /lib/modules/${_extramodules}/version)"
|
||||
|
||||
pkgname=(nvidia-96xx chd-nvidia-96xx)
|
||||
pkgver=96.43.20
|
||||
pkgrel=9
|
||||
arch=('i686' 'x86_64')
|
||||
[ "$CARCH" = "i686" ] && ARCH=x86
|
||||
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
|
||||
url="http://www.nvidia.com/"
|
||||
makedepends=('linux-headers')
|
||||
license=('custom')
|
||||
install=nvidia.install
|
||||
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run"
|
||||
"nvidia_supported")
|
||||
md5sums=('875cc011385ea26ab5edd54a9b65a003')
|
||||
[ "$CARCH" = "x86_64" ] && md5sums=('df3c87005487bdf54a6c5b783ff373db')
|
||||
md5sums+=('62d0cdb856cfae64753c0f3acf729d47')
|
||||
|
||||
build() {
|
||||
sh "NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run" --extract-only
|
||||
cd "NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
|
||||
ln -s Makefile.kbuild Makefile
|
||||
make SYSSRC=/lib/modules/${_kver}/build module
|
||||
}
|
||||
|
||||
package_nvidia-96xx() {
|
||||
pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
|
||||
depends=('linux>=3.2' 'linux<3.3' 'nvidia-96xx-utils')
|
||||
conflicts=('nvidia' 'nvidia-173xx')
|
||||
|
||||
cd "NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
|
||||
mkdir -p $pkgdir//lib/modules/${_extramodules}
|
||||
install -m644 nvidia.ko $pkgdir/lib/modules/${_extramodules}
|
||||
install -d -m755 "${pkgdir}/etc/modprobe.d"
|
||||
echo "blacklist nouveau" >> "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf"
|
||||
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
|
||||
gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
|
||||
}
|
||||
|
||||
package_chd-nvidia-96xx() {
|
||||
pkgdesc="CHD ids for nvidia $pkgver"
|
||||
arch=('any')
|
||||
|
||||
cd "${srcdir}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
|
||||
|
||||
install -dm755 "${pkgdir}/opt/chakra/hwdb"
|
||||
sh -e "${srcdir}/nvidia_supported" ../../share/doc/README.txt nv-kernel.o \
|
||||
> "${pkgdir}/opt/chakra/hwdb/hw_nvidia173xx_hwdb"
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
post_install() {
|
||||
EXTRAMODULES='extramodules-3.2-CHAKRA'
|
||||
depmod $(cat /lib/modules/$EXTRAMODULES/version)
|
||||
echo 'In order to use nvidia module, reboot the system.'
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
EXTRAMODULES='extramodules-3.2-CHAKRA'
|
||||
depmod $(cat /lib/modules/$EXTRAMODULES/version)
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
EXTRAMODULES='extramodules-3.2-CHAKRA'
|
||||
depmod $(cat /lib/modules/$EXTRAMODULES/version)
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# This is a nasty kluge, but it seems to work. Better check the output when
|
||||
# upgrading to a new release of the nvidia driver, though.
|
||||
# To make it somehwat work, until someone knows a better way, copy /usr/share/doc/nvidia/README
|
||||
# to the same dir as this script, then run.
|
||||
|
||||
if [ "$#" -ne 2 ]; then
|
||||
>&2 printf 'USAGE: %s README.txt nv-kernel.o\n' "$0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
device_ids() {
|
||||
local readme="$1"; shift
|
||||
local object="$1"; shift
|
||||
|
||||
local ret=1
|
||||
|
||||
local symbols="$(mktemp)"
|
||||
local readme_list="$(mktemp)"
|
||||
local object_list="$(mktemp)"
|
||||
local diff="$(mktemp)"
|
||||
|
||||
sed -nr '/^Appendix .\. Supported NVIDIA /,/legacy/ {
|
||||
s/.* 0x([0-9a-fA-F]{4})( .*|$)/\1/p
|
||||
}' "$readme" | tr A-F a-f | sort | uniq >"$readme_list"
|
||||
|
||||
local readme_length="$(grep -Ec . "$readme_list")"
|
||||
|
||||
objdump --section=.rodata --syms "$object" |
|
||||
sed -nr '/SYMBOL TABLE/,/^$/ {
|
||||
s/^([0-9a-f]+)\s+l\s+O\s+\S+\s+([0-9a-f]+)\s+\S+.*/\2 \1/p
|
||||
}' |
|
||||
sort -nr >"$symbols" # The list is probably among the larger symbols.
|
||||
|
||||
while read length start; do
|
||||
[ "$((0x$length))" -gt 0 ] || continue
|
||||
|
||||
objdump --section=.rodata --full-contents \
|
||||
--start-address="0x$start" \
|
||||
--stop-address="$((0x$start+0x$length))" "$object" |
|
||||
sed -nr 's/^ [0-9a-f]+ ([0-9a-f]{2})([0-9a-f]{2}).*/\2\1/p' |
|
||||
sort | uniq | (grep -vx 0000 || :) >"$object_list"
|
||||
|
||||
local object_length="$(grep -Ec . "$object_list")"
|
||||
|
||||
diff -u "$readme_list" "$object_list" | tail -n +3 >"$diff"
|
||||
local num_deletions="$(grep -Ec '^-' "$diff")"
|
||||
local num_additions="$(grep -Ec '^\+' "$diff")"
|
||||
|
||||
# Some thresholds for now.
|
||||
if [ "$num_deletions" -eq 0 ] &&
|
||||
[ "$num_additions" -le "$(($readme_length*3/2))" ]; then
|
||||
>&2 printf 'DEBUG: readme:%d object:%d deletions:%d additions:%d\n' \
|
||||
"$readme_length" "$object_length" "$num_deletions" "$num_additions"
|
||||
ret=0
|
||||
break
|
||||
fi
|
||||
done <"$symbols"
|
||||
|
||||
if [ "$ret" -eq 0 ]; then
|
||||
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
|
||||
|
||||
while read id; do
|
||||
printf '%s\n' \
|
||||
"0x$id"
|
||||
done <"$object_list"
|
||||
|
||||
else
|
||||
>&2 printf '%s\n' 'Failed to find the list. Using README.txt to get the list'
|
||||
|
||||
# We failed to extract the ids from the blob. Use the ones in README.txt
|
||||
# as a fallback
|
||||
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
|
||||
while read id; do
|
||||
printf '%s\n' \
|
||||
"0x$id"
|
||||
done <"$readme_list"
|
||||
|
||||
ret=0
|
||||
fi
|
||||
|
||||
rm -f "$symbols" "$readme_list" "$object_list" "$diff"
|
||||
|
||||
return "$ret"
|
||||
}
|
||||
|
||||
device_ids "$@"
|
||||
|
||||
# vim:set et sw=2 sts=2:
|
Loading…
Reference in New Issue
Block a user