| 1 | NAME = tuntap |
|---|
| 2 | VERSION = 1.1 |
|---|
| 3 | GARTYPE = v2 |
|---|
| 4 | |
|---|
| 5 | DESCRIPTION = TUN and TAP virtual network kernel drivers |
|---|
| 6 | define BLURB |
|---|
| 7 | TUN (as in network TUNnel) simulates a network layer device and it |
|---|
| 8 | operates with layer 3 packets such as IP packets. |
|---|
| 9 | TAP (as in network tap) simulates an Ethernet device and it operates |
|---|
| 10 | with layer 2 packets such as Ethernet frames. TAP is used |
|---|
| 11 | to create a network bridge, while TUN is used with routing. |
|---|
| 12 | endef |
|---|
| 13 | |
|---|
| 14 | SPKG_SOURCEURL = http://www.whiteboard.ne.jp/~admin2/tuntap/ |
|---|
| 15 | MASTER_SITES = http://www.whiteboard.ne.jp/~admin2/tuntap/source/tuntap/ |
|---|
| 16 | # fix Dist |
|---|
| 17 | DISTNAME = tuntap |
|---|
| 18 | DISTFILES = $(DISTNAME).tar.gz |
|---|
| 19 | |
|---|
| 20 | CONFIGURE_ARGS = $(DIRPATHS) |
|---|
| 21 | |
|---|
| 22 | # one Makefile for both packages |
|---|
| 23 | PACKAGES = CSWtun CSWtap |
|---|
| 24 | CATALOGNAME_CSWtun = tun |
|---|
| 25 | SPKG_DESC_CSWtun = tun |
|---|
| 26 | CATALOGNAME_CSWtap = tap |
|---|
| 27 | SPKG_DESC_CSWtap = tap |
|---|
| 28 | # define packagefiles |
|---|
| 29 | PKGFILES_CSWtun = /usr/kernel/drv/tun |
|---|
| 30 | PKGFILES_CSWtun += /usr/kernel/drv/tun.conf |
|---|
| 31 | PKGFILES_CSWtun += /usr/kernel/drv/sparcv9/tun |
|---|
| 32 | PKGFILES_CSWtun += /usr/kernel/drv/amd64/tun |
|---|
| 33 | PKGFILES_CSWtun += /usr/include/net/if_tun.h |
|---|
| 34 | PKGFILES_CSWtap = /usr/kernel/drv/tap |
|---|
| 35 | PKGFILES_CSWtap += /usr/kernel/drv/tap.conf |
|---|
| 36 | PKGFILES_CSWtap += /usr/kernel/drv/sparcv9/tap |
|---|
| 37 | PKGFILES_CSWtap += /usr/kernel/drv/amd64/tap |
|---|
| 38 | PKGFILES_CSWtap += /usr/include/net/if_tun.h |
|---|
| 39 | # prototype group sys directories |
|---|
| 40 | PROTOTYPE_FILTER = awk '$$$$3 !~/^\/usr\/include/ && $$$$6 == "bin" { $$$$6 = "sys" } { print }' |
|---|
| 41 | |
|---|
| 42 | # build 64bit modules |
|---|
| 43 | BUILD64 = 1 |
|---|
| 44 | |
|---|
| 45 | # no build tests |
|---|
| 46 | SKIPTEST = 1 |
|---|
| 47 | |
|---|
| 48 | # we going to use a custom install |
|---|
| 49 | INSTALL_SCRIPTS = custom |
|---|
| 50 | # extra merging files outside /opt/csw.. |
|---|
| 51 | EXTRA_MERGE_INCLUDE_FILES = /usr/kernel/drv/sparcv9/tun |
|---|
| 52 | EXTRA_MERGE_INCLUDE_FILES += /usr/kernel/drv/amd64/tun |
|---|
| 53 | EXTRA_MERGE_INCLUDE_FILES += /usr/kernel/drv/sparcv9/tap |
|---|
| 54 | EXTRA_MERGE_INCLUDE_FILES += /usr/kernel/drv/amd64/tap |
|---|
| 55 | |
|---|
| 56 | # set korrekt module directory |
|---|
| 57 | DRV_CONF_DIR = /usr/kernel/drv |
|---|
| 58 | ifeq ($(ISA),sparcv9) |
|---|
| 59 | DRV_DIR = /usr/kernel/drv/sparcv9 |
|---|
| 60 | endif |
|---|
| 61 | ifeq ($(ISA),sparcv8) |
|---|
| 62 | DRV_DIR = /usr/kernel/drv |
|---|
| 63 | endif |
|---|
| 64 | ifeq ($(ISA),amd64) |
|---|
| 65 | DRV_DIR = /usr/kernel/drv/amd64 |
|---|
| 66 | endif |
|---|
| 67 | ifeq ($(ISA),i386) |
|---|
| 68 | DRV_DIR = /usr/kernel/drv |
|---|
| 69 | endif |
|---|
| 70 | |
|---|
| 71 | # we will need a postinstall and preremove script |
|---|
| 72 | define CSWtun_postinstall |
|---|
| 73 | #!/bin/sh |
|---|
| 74 | PATH=/usr/bin:/usr/sbin |
|---|
| 75 | rem_drv tun > /dev/null 2>&1 |
|---|
| 76 | echo " ==> Loading tun module" |
|---|
| 77 | add_drv tun |
|---|
| 78 | endef |
|---|
| 79 | define CSWtun_preremove |
|---|
| 80 | #!/bin/sh |
|---|
| 81 | PATH=/usr/bin:/usr/sbin |
|---|
| 82 | echo " ==> Unloading tun module" |
|---|
| 83 | rem_drv tun |
|---|
| 84 | endef |
|---|
| 85 | define CSWtap_postinstall |
|---|
| 86 | #!/bin/sh |
|---|
| 87 | PATH=/usr/bin:/usr/sbin |
|---|
| 88 | rem_drv tap > /dev/null 2>&1 |
|---|
| 89 | echo " ==> Loading tap module" |
|---|
| 90 | add_drv tap |
|---|
| 91 | endef |
|---|
| 92 | define CSWtap_preremove |
|---|
| 93 | #!/bin/sh |
|---|
| 94 | PATH=/usr/bin:/usr/sbin |
|---|
| 95 | echo " ==> Unloading tap module" |
|---|
| 96 | rem_drv tap |
|---|
| 97 | endef |
|---|
| 98 | |
|---|
| 99 | include gar/category.mk |
|---|
| 100 | |
|---|
| 101 | # adjust compiler flags |
|---|
| 102 | pre-build-modulated: |
|---|
| 103 | perl -pi -e 's@-m64@@' $(WORKSRC)/Makefile |
|---|
| 104 | pre-build-isa-amd64: |
|---|
| 105 | perl -pi -e 's@(-D_KERNEL)@$$1 -xmodel=kernel@' $(WORKSRC)/Makefile |
|---|
| 106 | |
|---|
| 107 | # custom install |
|---|
| 108 | install-custom: |
|---|
| 109 | @echo " ==> Installing ISA $(ISA)" |
|---|
| 110 | ginstall -d -m 0755 $(DESTDIR)$(DRV_CONF_DIR) |
|---|
| 111 | ginstall -m 644 $(WORKSRC)/tun.conf $(DESTDIR)$(DRV_CONF_DIR) |
|---|
| 112 | ginstall -m 644 $(WORKSRC)/tap.conf $(DESTDIR)$(DRV_CONF_DIR) |
|---|
| 113 | ginstall -d -m 0755 $(DESTDIR)/usr/include/net |
|---|
| 114 | ginstall -m 644 $(WORKSRC)/if_tun.h $(DESTDIR)/usr/include/net |
|---|
| 115 | ginstall -d -m 0755 $(DESTDIR)$(DRV_DIR) |
|---|
| 116 | ginstall -m 644 $(WORKSRC)/tun $(DESTDIR)$(DRV_DIR) |
|---|
| 117 | ginstall -m 644 $(WORKSRC)/tap $(DESTDIR)$(DRV_DIR) |
|---|
| 118 | @$(MAKECOOKIE) |
|---|