updated on Tue Jan 10 04:01:21 UTC 2012
[aur-mirror.git] / catalyst-test / catalyst_build_module
blobe877a6f11fe9a5bfdef7bf620244311e48cc9ebb
1 #!/bin/bash
3 kernver=${KERNVER:-$(uname -r)}
4 arch=${ARCH:-$(uname -m)}
5 arch=${arch/i686/i386}
6 catver=whatever
10 install_module(){
11 echo ""
12 echo -e '\E[37;44m'"\033[1mBuilding catalyst-${kernver} package for ${kernver} kernel ...\033[0m"
13 echo "--------"
14 if [ ! -d "/lib/modules/${kernver}/build" ]; then
15 echo -e '\E[37;44m'"\033[1mKernel header files are absent: directory /lib/modules/${kernver}/build doesn't exist! Game over\033[0m"
16 echo "--------"
17 return 1
19 workdir=$(mktemp -du /tmp/catalyst.XXXXXX)
20 # set -x
21 cp "/usr/share/ati/build_mod" "${workdir}" -R
22 cd "$workdir"
23 sed -i -e "s/_kernver=.*/_kernver=${kernver}/" PKGBUILD
24 if [ "${LOGNAME}" = "root" ]; then
25 if [ "${user}" = "root" ]; then
26 /usr/bin/makepkg -c --asroot || return 1
27 else
28 chown ${user}:video ${workdir}
29 chown ${user}:video ${workdir}/* >> /dev/null 2>&1
30 su - ${user} -c "cd ${workdir} && /usr/bin/makepkg -c" || return 1
32 else
33 /usr/bin/makepkg -c || return 1
35 echo -e '\E[37;44m'"\033[1mOk. catalyst-${kernver} package built succesfully. Installing ...\033[0m"
36 if [ -e /usr/bin/sudo ]; then
37 echo -e '\E[37;44m'"\033[1mIf it's asking for password - type YOUR password\033[0m"
38 sudo /usr/bin/pacman -Ud ${workdir}/catalyst-${kernver}-${catver}-$(uname -m).pkg.tar || return 1
39 else
40 echo -e '\E[37;44m'"\033[1mIf it's asking for password - type root password\033[0m"
41 su - root -c "/usr/bin/pacman -Ud ${workdir}/catalyst-${kernver}-${catver}-$(uname -m).pkg.tar" || return 1
43 rm -rf "${workdir}"
44 # set +x
45 echo -e '\E[37;44m'"\033[1mDone.\033[0m"
48 build_all_modules(){
49 if [ "${LOGNAME}" = "root" ]; then
50 echo "Please specify your (unprivileged) user name:"
51 read user
53 for p in /lib/modules/*; do
54 if [ -d $p/build ] && [ -d $p/kernel ]; then
55 /usr/bin/catalyst_build_module ${p##*/lib/modules/} ${user}
57 done
60 remove_module(){
61 echo "Removing unused catalyst-{kernver} packages ..."
62 for p in /lib/modules/*; do
63 if [ ! -d $p/kernel ]; then
64 if [ -e $p/video/fglrx.ko ]; then
65 /usr/bin/pacman -Rd catalyst-${p##*/lib/modules/}
68 done
71 remove_all_modules(){
72 for p in /lib/modules/*; do
73 if [ -e $p/video/fglrx.ko ]; then
74 /usr/bin/pacman -Rd --noconfirm catalyst-${p##*/lib/modules/}
76 done
80 case "$1" in
81 help|--help)
82 echo "usage: $0 {version|all|remove|remove_all|}"
83 echo "- with no specified kernel version it will use the current kernel version to build module"
84 echo "- all will try to build fglrx modules for all working system's kernels"
85 echo "- remove is removing unused catalyst-{kernver} packages"
86 echo "- remove_all is removing all catalyst-{kernver} packages"
88 all)
89 build_all_modules
91 remove)
92 remove_module
94 remove_all)
95 remove_all_modules
98 test "$1" != "" && kernver="$1"
99 if [ "$2" != "" ]; then user="$2"
100 elif [ "${LOGNAME}" = "root" ]; then
101 echo "Please specify your (unprivileged) user name:"
102 read user
104 install_module
106 esac