1.1 --- a/tun/tun.spec Fri Sep 07 19:01:31 2012 +0200 1.2 +++ b/tun/tun.spec Fri Sep 07 19:08:07 2012 +0200 1.3 @@ -21,10 +21,6 @@ 1.4 ## SUCH DAMAGE. 1.5 ## 1.6 1.7 -# MSvB Fixme: Device driver could possibly be stripped 1.8 -# %{l_shtool} install -c -m -s 755 \ 1.9 -# tun $RPM_BUILD_ROOT%{l_prefix}/lib/tun 1.10 - 1.11 # package information 1.12 Name: tun 1.13 Summary: Universal TUN/TAP Device Driver 1.14 @@ -48,7 +44,7 @@ 1.15 1.16 %description 1.17 Tun provides packet reception and transmission for user space 1.18 - programs. It can be viewed as a simple Point-to-Point device, which 1.19 + programs. It can be viewed as a simple point to point device, which 1.20 instead of receiving packets from a physical media, receives them 1.21 from user space program and instead of sending packets via physical 1.22 media writes them to the user space program. 1.23 @@ -63,6 +59,20 @@ 1.24 %prep 1.25 %setup -q -n tun-%{version} 1.26 %patch -p0 1.27 + %{l_shtool} subst \ 1.28 + -e 's;^\(CC *= *\).*;\1@CC@;' \ 1.29 + -e 's;^\(CFLAGS *= *\).*;\1@CFLAGS@ $(DEFS) -D_KERNEL -I.;' \ 1.30 + solaris/Makefile.in 1.31 + case "%{l_platform -t}" in 1.32 + *-sunos5.1[01] ) 1.33 + %{l_shtool} subst \ 1.34 + -e 's;"tun";"vtun";g' \ 1.35 + solaris/tun.c 1.36 + %{l_shtool} subst \ 1.37 + -e 's;tun;vtun;g' \ 1.38 + solaris/tun.conf 1.39 + ;; 1.40 + esac 1.41 case "%{l_platform -t}" in 1.42 *-sunos5.11 ) 1.43 %{l_shtool} subst \ 1.44 @@ -71,10 +81,25 @@ 1.45 solaris/tun.c 1.46 ;; 1.47 esac 1.48 + case "%{l_platform -t}" in 1.49 + *64-* ) 1.50 + %{l_shtool} subst \ 1.51 +%if "%{l_cc}" == "/opt/solarisstudio12.3/bin/cc" 1.52 + -e 's;\(\$(LD)\) *\(.*-o tun\);\1 -64 \2;' \ 1.53 + -e 's;^\(CFLAGS *=.*\);\1 -fast -xO4 -m64 -Kpic;' \ 1.54 +%else 1.55 + -e 's;^\(CFLAGS *=.*\);\1 -O2 -m64 -fPIC;' \ 1.56 +%endif 1.57 + solaris/Makefile.in 1.58 + ;; 1.59 + esac 1.60 1.61 %build 1.62 +%if "%{l_cc}" == "/opt/solarisstudio12.3/bin/cc" 1.63 + PATH="/bin:/sbin:/usr/bin:/usr/sbin:/opt/solarisstudio12.3/bin" 1.64 +%endif 1.65 CC="%{l_cc}" \ 1.66 - CFLAGS="%{l_cflags -O}" \ 1.67 + CFLAGS="%{l_cflags}" \ 1.68 ./configure \ 1.69 --prefix=%{l_prefix} 1.70 locplat=`grep 'OS_DIR *=' Makefile | sed -e 's;OS_DIR[^=][^=]*= *\([^ ][^ ]*\);\1;'` 1.71 @@ -87,8 +112,22 @@ 1.72 $RPM_BUILD_ROOT%{l_prefix}/lib/tun 1.73 locplat=`grep 'OS_DIR *=' Makefile | sed -e 's;OS_DIR[^=][^=]*= *\([^ ][^ ]*\);\1;'` 1.74 ( cd $locplat 1.75 - %{l_shtool} install -c -m 644 \ 1.76 - tun tun.conf if_tun.h $RPM_BUILD_ROOT%{l_prefix}/lib/tun 1.77 + case "%{l_platform -t}" in 1.78 + *-sunos5.1[01] ) 1.79 + %{l_shtool} install -c -m 755 \ 1.80 + tun $RPM_BUILD_ROOT%{l_prefix}/lib/tun/vtun 1.81 + %{l_shtool} install -c -m 644 \ 1.82 + tun.conf $RPM_BUILD_ROOT%{l_prefix}/lib/tun/vtun.conf 1.83 + %{l_shtool} install -c -m 644 \ 1.84 + if_tun.h $RPM_BUILD_ROOT%{l_prefix}/lib/tun/ 1.85 + ;; 1.86 + * ) 1.87 + %{l_shtool} install -c -m 755 \ 1.88 + tun $RPM_BUILD_ROOT%{l_prefix}/lib/tun 1.89 + %{l_shtool} install -c -m 644 \ 1.90 + tun.conf if_tun.h $RPM_BUILD_ROOT%{l_prefix}/lib/tun 1.91 + ;; 1.92 + esac 1.93 ) || exit $? 1.94 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} 1.95 1.96 @@ -110,11 +149,16 @@ 1.97 echo "" 1.98 echo " $ su -" 1.99 echo " # find %{l_prefix}/lib/tun/ -print" 1.100 - echo " # shtool install -c -m 755 -o root -g sys tun /usr/kernel/drv/" 1.101 - echo " # shtool install -c -m 644 -o root -g sys tun.conf /usr/kernel/drv/" 1.102 - echo " # shtool install -c -m 644 -o root -g bin if_tun.h /usr/include/net/" 1.103 - echo " # /usr/sbin/rem_drv tun" 1.104 - echo " # /usr/sbin/add_drv tun" 1.105 + echo " # shtool install -c -m 644 -o root -g sys (v)tun.conf /usr/kernel/drv/" 1.106 + echo " # (optional) shtool install -c -m 644 -o root -g bin if_tun.h /usr/include/net/" 1.107 + echo " # file (v)tun # if the driver 32-bit or 64-bit is very important" 1.108 + echo " # (either) shtool install -c -m 755 -o root -g sys (v)tun /usr/kernel/drv/" 1.109 + echo " # (or) shtool install -c -m 755 -o root -g sys (v)tun /usr/kernel/drv/amd64/" 1.110 + echo " # (or) shtool install -c -m 755 -o root -g sys (v)tun /usr/kernel/drv/sparcv9/" 1.111 + echo " # modinfo | grep tun" 1.112 + echo " # /usr/sbin/rem_drv -C (v)tun" 1.113 + echo " # /usr/sbin/add_drv (v)tun" 1.114 + echo " # modinfo | grep tun" 1.115 ) | %{l_rpmtool} msg -b -t notice 1.116 fi 1.117 exit 0 1.118 @@ -127,12 +171,15 @@ 1.119 echo "from system areas outside of the OpenPKG instance." 1.120 echo "" 1.121 echo " $ su -" 1.122 - echo " # ls -ld /usr/kernel/drv/*tun* /usr/include/net/*tun*" 1.123 - echo " # /usr/sbin/rem_drv tun" 1.124 + echo " # ls -ld /usr/kernel/drv/*/*tun* /usr/kernel/drv/*tun* /usr/include/net/*tun*" 1.125 + echo " # modinfo | grep tun" 1.126 + echo " # /usr/sbin/rem_drv -C (v)tun" 1.127 + echo " # modinfo | grep tun" 1.128 echo " # ls -ld /usr/kernel/drv/*tun*" 1.129 + echo " # ls -ld /usr/kernel/drv/*/*tun*" 1.130 echo " # ls -ld /usr/include/net/*tun*" 1.131 - echo " # rm -f /usr/kernel/drv/tun" 1.132 - echo " # rm -f /usr/kernel/drv/tun.conf" 1.133 + echo " # rm -f /usr/kernel/drv/[archpath]/(v)tun" 1.134 + echo " # rm -f /usr/kernel/drv/(v)tun.conf" 1.135 echo " # rm -f /usr/include/net/if_tun.h" 1.136 ) | %{l_rpmtool} msg -b -t notice 1.137 exit 0