Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 235891 Details for
Bug 321061
nvidia-drivers 256.35 released
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Updated the bash script (Use ${PV} instead of the hard-coded version)
gentoo_nvidia_qa.sh (text/plain), 6.10 KB, created by
ninuje
on 2010-06-19 01:59:54 UTC
(
hide
)
Description:
Updated the bash script (Use ${PV} instead of the hard-coded version)
Filename:
MIME Type:
Creator:
ninuje
Created:
2010-06-19 01:59:54 UTC
Size:
6.10 KB
patch
obsolete
>#! /bin/sh ># ># Quick hack to output the necessary QA_* ignores in the ebuild for a specific nvidia-drivers release ># >## > >## What release to check? (we only support >=2xx.xx) >NV_VER_LINUX="256.35" >NV_VER_FBSD="${NV_VER_LINUX}" > >## Package names >x86_NV_DIR="NVIDIA-Linux-x86-${NV_VER_LINUX}" >amd64_NV_DIR="NVIDIA-Linux-x86_64-${NV_VER_LINUX}" >x86_fbsd_NV_DIR="NVIDIA-FreeBSD-x86-${NV_VER_FBSD}" > >NV_LINUX_PKG_EXT="run" >NV_FBSD_PKG_EXT="tar.gz" > >x86_NV_PACKAGE="${x86_NV_DIR}.${NV_LINUX_PKG_EXT}" >amd64_NV_PACKAGE="${amd64_NV_DIR}.${NV_LINUX_PKG_EXT}" >x86_fbsd_NV_PACKAGE="${x86_fbsd_NV_DIR}.${NV_FBSD_PKG_EXT}" > >## Portage distfiles >PORTAGE_DISTDIR="/usr/portage/distfiles" > >## Where to store the output >NV_QA_OUTFILE="./nvidia-driver-${NV_VER_LINUX}-gentoo-qa" > >## Unpack >mkdir -p "./${NV_VER_LINUX}" >cd "./${NV_VER_LINUX}" > >[[ -f "./${x86_NV_PACKAGE}" ]] || cp "${PORTAGE_DISTDIR}/${x86_NV_PACKAGE}" "./${x86_NV_PACKAGE}" >[[ -f "./${amd64_NV_PACKAGE}" ]] || cp "${PORTAGE_DISTDIR}/${amd64_NV_PACKAGE}" "./${amd64_NV_PACKAGE}" >[[ -f "./${x86_fbsd_NV_PACKAGE}" ]] || cp "${PORTAGE_DISTDIR}/${x86_fbsd_NV_PACKAGE}" "./${x86_fbsd_NV_PACKAGE}" > >chmod -cR a+x "./${x86_NV_PACKAGE}" "./${amd64_NV_PACKAGE}" > >[[ -d "./${x86_NV_DIR}" ]] || ./${x86_NV_PACKAGE} -x >[[ -d "./${amd64_NV_DIR}" ]] || ./${amd64_NV_PACKAGE} -x >[[ -d "./${x86_fbsd_NV_DIR}" ]] || tar -xzf ./${x86_fbsd_NV_PACKAGE} > >## Clean stale output file >rm -f "${NV_QA_OUTFILE}" > >## Store QA_ infos [x86 & amd64 (everything) / fbsd (textrel only)] >for arch in x86 amd64 x86_fbsd ; do > # arch_NV_DIR expanded var name > arch_NV_DIR="${arch}_NV_DIR" > > cd "./${!arch_NV_DIR}" > > # We only care about TEXTRELS on x86_fbsd > if [[ "${arch}" == "x86_fbsd" ]] ; then > arch_TEXTRELS="$( scanelf -qyRF '%t %p' ./obj/ | gawk '{print $2}' )" > # And we don't use .so.${NV_VER_FBSD} in our libs, just so.1 > NV_VER="1" > else > # TEXTRELS > arch_TEXTRELS="$( scanelf -qyRF '%t %p' ./ | gawk '{print $2}' )" > # EXECSTACK > arch_EXECSTACK="$( scanelf -qyRAF '%e %p' ./ | grep -P '(^[RWX]{3} )([RWX!\-]{3} )([RWX!\-]{3} )(.*?$)' | gawk '{print $4}' )" > # WX_LOAD > arch_WX_LOAD="$( scanelf -qyRAF '%e %p' ./ | grep -P '(^[RWX!\-]{3} )([RWX!\-]{3} )([RWX]{3} )(.*?$)' | gawk '{print $4}' )" > # DT_HASH > arch_DT_HASH="$( scanelf -qyRF '%k %p' -k .hash ./ | sed -e "s:\.hash ::" )" > # SONAME > arch_SONAME="$( scanelf -ByF '%S %p' *.so* | gawk '$2 == "" { print }' | sed -e "s:^[[:space:]]::" )" > # Version > NV_VER="${NV_VER_LINUX}" > fi > > cd .. > > ## Parse QA_ infos > for qa_type in TEXTRELS EXECSTACK WX_LOAD DT_HASH SONAME ; do > # We only care about TEXTRELS on x86_fbsd > [[ "${arch}" == "x86_fbsd" ]] && [[ "${qa_type}" != "TEXTRELS" ]] && continue > > # multilib support > [[ "${arch}" == "amd64" ]] && libdir="lib64" || libdir="lib" > > # Clear our array > unset QA_type_arch > > # arch_qa_type expanded var name > arch_qa_type="arch_${qa_type}" > > for file in ${!arch_qa_type} ; do > case "${file}" in > # Skip binaries we don't install > "nvidia-settings" | "nvidia-installer" | "mkprecompiled" | "tls_test" | "tls_test_dso.so" | "libnvidia-wfb.so.${NV_VER}" | "libvdpau_trace.so.${NV_VER}" | "libvdpau.so.${NV_VER}" ) > continue > ;; > # Skip one of the -tls lib > "libnvidia-tls.so.${NV_VER}" ) > # Unless we're on x86_fbsd, because there's only one there > if [[ "${arch}" == "x86_fbsd" ]] ; then > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/opengl/nvidia/lib/${file}" ) > else > continue > fi > ;; > > ## Then we have some special cases > # nvidia-tls > "tls/libnvidia-tls.so.${NV_VER}" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/opengl/nvidia/lib/libnvidia-tls.so.${NV_VER}" ) > ;; > # GL, nvidia-glcore > "libnvidia-glcore.so.${NV_VER}" | "libGL.so.${NV_VER}" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/opengl/nvidia/lib/${file}" ) > ;; > # glx > "libglx.so.${NV_VER}" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/opengl/nvidia/extensions/${file}" ) > ;; > # nvidia_drv.so > "nvidia_drv.so" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/xorg/modules/drivers/${file}" ) > ;; > > ## 32bits libs > # Skip binaries we don't install > "32/libvdpau_trace.so.${NV_VER}" | "32/libvdpau.so.${NV_VER}" ) > continue > ;; > # Skip one of the -tls lib > "32/libnvidia-tls.so.${NV_VER}" ) > continue > ;; > > ## Then we have some special cases > # nvidia-tls > "32/tls/libnvidia-tls.so.${NV_VER}" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${NV_VER}" ) > ;; > # GL, nvidia-glcore > "32/libnvidia-glcore.so.${NV_VER}" | "32/libGL.so.${NV_VER}" ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/lib32/opengl/nvidia/lib/${file#32/}" ) > ;; > > # Handle the rest (32b) > 32/* ) > QA_type_arch=( "${QA_type_arch[@]}" "usr/lib32/${file#32/}" ) > ;; > > # Handle the rest > * ) > if [[ "${file}" != *.so* ]] ; then > # Binaries > QA_type_arch=( "${QA_type_arch[@]}" "usr/bin/${file}" ) > else > # Libraries > QA_type_arch=( "${QA_type_arch[@]}" "usr/${libdir}/${file}" ) > fi > ;; > esac > done > > ## Format the array for output > count=$(( ${#QA_type_arch[@]} - 1 )) ## Bash arrays are 0 indexed, so 19 elements = 0..18, not 0..19 ;) > for index in $( seq 0 ${count} ) ; do > case "${index}" in > 0 ) > # First item, setup the var & open the quotes > if [[ "${arch}" == "x86_fbsd" ]] ; then > # We hardcode the kernel module here on x86_fbsd > QA_type_arch_out="QA_${qa_type}_${arch}=\"boot/modules/nvidia.ko\n\t${QA_type_arch[index]}" > else > QA_type_arch_out="QA_${qa_type}_${arch}=\"${QA_type_arch[index]}" > fi > ;; > ${count} ) > # Last item, close the quotes > QA_type_arch_out="${QA_type_arch_out}\n\t${QA_type_arch[index]}\"" > ;; > * ) > # Everything else, grow the list > QA_type_arch_out="${QA_type_arch_out}\n\t${QA_type_arch[index]}" > ;; > esac > done > > ## Store our formatted output > echo -e "${QA_type_arch_out}\n" >> "${NV_QA_OUTFILE}" > > ## Don't use hard-coded version tag on Linux > sed -e "s/${NV_VER_LINUX}/\${PV}/g" -i "${NV_QA_OUTFILE}" > done >done > >## Print the final output >cat "${NV_QA_OUTFILE}"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 321061
:
232475
|
232477
|
232479
|
232481
|
232483
|
232485
|
232503
|
232505
|
232513
|
232531
|
233427
|
233429
|
233539
|
233579
|
233583
|
233591
|
233723
|
233725
|
235505
|
235507
|
235891
|
235893
|
235895
|
236195
|
236197
|
236367
|
236439
|
240737
|
240739
|
240743
|
245273
|
245275