75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | # See http://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines | ||
|  | # for more information on packaging from GIT sources. | ||
|  | 
 | ||
|  | # Maintainer: Vincenzo Maffione <v.maffione@gmail.com> | ||
|  | pkgname=netmap | ||
|  | pkgver=2.0 | ||
|  | pkgrel=1 | ||
|  | pkgdesc="Netmap is a framework for high speed network packet I/O." | ||
|  | arch=('any') | ||
|  | url="http://info.iet.unipi.it/~luigi/netmap" | ||
|  | license=('BSD') | ||
|  | groups=() | ||
|  | depends=('linux' 'glibc') | ||
|  | makedepends=('git' 'sed' 'gzip' 'linux-headers') | ||
|  | provides=() | ||
|  | conflicts=() | ||
|  | replaces=() | ||
|  | backup=() | ||
|  | options=() | ||
|  | install="netmap.install" | ||
|  | source=() | ||
|  | noextract=() | ||
|  | md5sums=() #generate with 'makepkg -g' | ||
|  | 
 | ||
|  | _gitroot="https://v.maffione@code.google.com/p/netmap/" | ||
|  | _gitname="netmap" | ||
|  | 
 | ||
|  | build() { | ||
|  |   cd "$srcdir" | ||
|  |   msg "Connecting to GIT server...." | ||
|  | 
 | ||
|  |   if [[ -d "$_gitname" ]]; then | ||
|  |     cd "$_gitname" && git pull origin | ||
|  |     msg "The local files are updated." | ||
|  |   else | ||
|  |     git clone "$_gitroot" "$_gitname" | ||
|  |   fi | ||
|  | 
 | ||
|  |   msg "GIT checkout done or server timeout" | ||
|  |   msg "Starting build..." | ||
|  | 
 | ||
|  |   rm -rf "$srcdir/$_gitname-build" | ||
|  |   git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build" | ||
|  |   cd "$srcdir/$_gitname-build" | ||
|  | 
 | ||
|  |     # Build the netmap kernel module | ||
|  |     cd "$srcdir/$_gitname-build/LINUX" | ||
|  |     make || return 1 | ||
|  |     # Build pkt-gen and vale-ctl | ||
|  |     cd "$srcdir/$_gitname-build/examples" | ||
|  |     make pkt-gen vale-ctl || return 1 | ||
|  | } | ||
|  | 
 | ||
|  | package() { | ||
|  |     # Compute the version numbers of the running kernel | ||
|  |     KVER1=$(uname -r) | ||
|  |     KVER2=$(uname -r | sed 's/\.[0-9]\+-[0-9]\+//') | ||
|  | 
 | ||
|  |     # Install the netmap module into the extramodules-VERSION directory | ||
|  |     mkdir -p "$pkgdir/lib/modules/extramodules-${KVER2}" | ||
|  |     cp "$srcdir/$_gitname-build/LINUX/netmap_lin.ko" "$pkgdir/lib/modules/extramodules-${KVER2}" | ||
|  | 
 | ||
|  |     # Install pkt-gen and valectl into /usr/bin | ||
|  |     mkdir -p "$pkgdir/usr/bin" | ||
|  |     cp "$srcdir/$_gitname-build/examples/pkt-gen" "$pkgdir/usr/bin" | ||
|  |     cp "$srcdir/$_gitname-build/examples/vale-ctl" "$pkgdir/usr/bin" | ||
|  | 
 | ||
|  |     # Install the netmap man page | ||
|  |     mkdir -p "$pkgdir/usr/share/man/man4" | ||
|  |     cp "$srcdir/$_gitname-build/share/man/man4/netmap.4" "$pkgdir/usr/share/man/man4" | ||
|  |     gzip "$pkgdir/usr/share/man/man4/netmap.4" | ||
|  | } | ||
|  | 
 | ||
|  | # vim:set ts=2 sw=2 et: |