summaryrefslogtreecommitdiffstats
path: root/testing/zfs-git-grsec/APKBUILD
blob: 677e24c8f0c1289e0fa5a4fcc5b08c00a0c4fe60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:

_flavor=${FLAVOR:-grsec}
_realname=zfs-git
_name=$_realname-$_flavor

_kpkg=linux-$_flavor
_kver=3.6.11
_kpkgrel=9

_mypkgrel=0
_date=20121116

# source the kernel version
if [ -f ../../main/linux-$_flavor/APKBUILD ]; then
        . ../../main/linux-$_flavor/APKBUILD
        [ "$_kver" != "$pkgver" ] && die "$_name: Please update _kver to $pkgver"
        [ "$_kpkgrel" != "$pkgrel" ] && die "$_name: Please update _kpkgrel to $pkgrel"
fi

_kernelver=$_kver-r$_kpkgrel
_abi_release=$_kver-${_flavor}

pkgname=$_name
pkgver=$_kver
pkgrel=$(($_kpkgrel + $_mypkgrel))
pkgdesc="ZFS for Linux"
url="http://zfsonlinux.org"
arch="x86_64"
license="CDDL"
depends="spl-git-$_flavor"
depends_dev="glib-dev e2fsprogs-dev util-linux-dev
	linux-$_flavor-dev spl-git-$_flavor-dev"
makedepends="$depends_dev automake autoconf libtool"
install=""
subpackages="$pkgname-dev $pkgname-doc $_realname-utils:utils"

source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-${_date}.tar.gz
	timestamp.patch
	vdev_id_posix.patch"
_giturl="git://github.com/zfsonlinux/zfs.git"
_upload=dev.alpinelinux.org:/archive/$pkgname/

_builddir="$srcdir"/$pkgname-$_date

snapshot() {
	_date=$(date +%Y%m%d)
	local _pkg=$pkgname-$_date.tar.gz
	mkdir -p "$srcdir"
	cd "$srcdir"
	rm -rf "$pkgname"
	git clone --depth=1 --bare $_giturl || return 1
	git --git-dir ${_giturl##*/} archive -o $_pkg \
		--prefix=$pkgname-$_date/ HEAD \
		|| return 1
	msg "New snapshot: $_pkg"
	msg "Uploading to $_upload"
	_newrel=$((_mypkgrel + 1))
	scp $_pkg $_upload || return 1
	cd ..
	sed -i -e "s/^_mypkgrel=.*/_mypkgrel=$_newrel/" \
		-e "s/^_date=.*/_date=$_date/" \
		APKBUILD || return 1
	_dir=${PWD%/APKBUILD}
	_dir=${_dir%/*}
	abuild checksum && abuild -r && git add APKBUILD \
		&& git commit -m"${_dir##*/}/$pkgname: snapshot $_date"
}

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./autogen.sh || return 1
	export LIBS="$LIBS -lintl"
	export GCC_SPECS=/usr/share/gcc/hardenednopie.specs
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-config=all \
		--with-udevdir=/lib/udev \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	rm -f "$pkgdir"/usr/lib/*.la
	rm -rf "$pkgdir"/usr/libexec
	rm -rf "$pkgdir"/usr/share/dracut
}

dev() {
	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/src \
		"$subpkgdir"/usr || return 1
	default_dev
}

utils() {
	pkgdesc="Userland tools to manage zfs on linux"
	depends="bash"
	mkdir -p "$subpkgdir"
	mv "$pkgdir"/* "$subpkgdir" || return 1
	mkdir -p "$pkgdir"/lib
	mv "$subpkgdir"/lib/modules \
		"$pkgdir"/lib || return 1
	rm -f "$subpkgdir"/etc/init.d/zfs
	install -m755 -D "$_builddir"/etc/init.d/zfs.gentoo.in \
		"$subpkgdir"/etc/init.d/zfs
	sed -i -e "s/@sbindir@/\/usr\/sbin/g" \
		"$subpkgdir"/etc/init.d/zfs || return 1
	sed -i -e "s/@sysconfdir@/\/etc/g" \
		"$subpkgdir"/etc/init.d/zfs || return 1
}

md5sums="b73134395b9b72a9be30c56da231d9ca  zfs-git-grsec-20121116.tar.gz
9621735b802e34d792b03ef89727f6ea  timestamp.patch
c9a5307dc254ff4ff4808a178f4d8bd6  vdev_id_posix.patch"