tun/tun.spec

changeset 667
9dacbd1d1aa2
parent 525
bf1e61b0917c
     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

mercurial